Android開發技術周報 Issue#17
-
ART運行時與Dalvik虛擬機一樣,都使用了Mark-Sweep算法進行垃圾回收,因此它們的垃圾回收流程在總體上是一致的。但是ART運行 時對堆的劃分更加細致,因而在此基礎上實現了更多樣的回收策略。不同的策略有不同的回收力度,力度越大的回收策略,每次回收的內存就越多,并且它們都有各 自的使用情景。這樣就可以使得每次執行GC時,可以最大限度地減少應用程序停頓。本文就詳細分析ART運行時的垃圾收集過程。
-
在Android開發中我們常常會和API 打交道,可能你不想,但是這是避不開的。大部分情況下,調試發送網絡請求和接收響應的過程都是十分痛苦的。有多少次我們經過調試發現API的調用失敗僅僅 是因為我們的編碼錯了或者丟失了一個HTTP頭部參數?在調試的過程中,我們發現出現錯誤的原因千奇百怪。
-
ART運行時和Dalvik虛擬機一樣,在堆上為對象分配內存時都要解決內存碎片和內存不足問題。內存碎片問題可以使用dlmalloc技術解決。 內存不足問題則通過垃圾回收和在允許范圍內增長堆大小解決。由于垃圾回收會影響程序,因此ART運行時采用力度從小到大的進垃圾回收策略。
-
2015年伊始,Google發布了關于Android性能優化典范的專題,一共16個短視頻,每個3-5分鐘,幫助開發者創建更快更優秀的 Android App。課程專題不僅僅介紹了Android系統中有關性能問題的底層工作原理,同時也介紹了如何通過工具來找出性能問題以及提升性能的建議。主要從三個 方面展開,Android的渲染機制,內存與GC,電量優化。下面是對這些問題和建議的總結梳理。
-
隨著UI創建技術的功能日益增強,UI層也履行著越來越多的職責。為了更好地細分視圖(View)與模型(Model)的功能,讓View專注于處 理數據的可視化以及與用戶的交互,同時讓Model只關系數據的處理,基于MVC概念的MVP(Model-View-Presenter)模式應運而 生。
-
Android Developer Tools(開發人員工具)
在做Android開發的過程中,不可避免地需要使用到自帶的android developer tools(開發人員工具),這是一個強大的開發輔助工具,隨著android版本的更新,developer tools也集成了越來越多十分方便的調試功能,這里以android 4.4.4版本為例子,說說其中一部分我常用工具的使用.
-
本秘籍收錄了一些Git和Github非常酷同時又少有人知的功能。同時有英文、韓文、日文版本。
-
在很早之前我發布了這篇博客Android BuildConfig.DEBUG的妙用, 提到了Eclipse中通過BuildConfig.DEBUG字段用來調試Log非常好用,但是殊不知在Android Studio中通過Gradle這種用法更加強大。
-
Guava工程包含了若干被Google的 Java項目廣泛依賴 的核心庫,例如:集合 [collections] 、緩存 [caching] 、原生類型支持 [primitives support] 、并發庫 [concurrency libraries] 、通用注解 [common annotations] 、字符串處理 [string processing] 、I/O 等等。 所有這些工具每天都在被Google的工程師應用在產品服務中。
-
創建一個對開發人員友好的、簡單輕量的線程間通訊框架,完全不用鎖、同步器、信號量、等待和通知,在Java里開發一個輕量、無鎖的線程內通訊框架;并且也沒有隊列、消息、事件或任何其他并發專用的術語或工具。
代碼&開源庫
-
一個實現窗簾效果的庫。
-
一個可以給Title增效動畫效果的庫,已實現效果有左右切換、上下切換和3D切換效果。
-
知乎 Android 客戶端啟動頁的視差動畫效果實現.
-
一個方便你給Activity添加功能說明的庫。
-
一個可以顯示路徑動畫的自定義View,同時也支持從SVG文件加載路徑動畫。
-
一個監聽網絡連接狀態并且可以改變Wifi信號強度的庫。
-
一個方便你控制RecyclerView中Item之間分割線樣式的庫。
-
一個使用OpenGL ES Shaders模仿了Instagram濾鏡效果的項目。
-
This is a very simple library for Android that allows you to stick an header to a scrollable view and easly apply animation to it
這是一個非常簡單的庫,可以讓你輕松的給你一個可滾動的View添加stick Header并且可以添加動畫效果。
-
一個Socket.io的Demo項目。
工具
-
本次主要更新:
- Lint工具新增了幾條檢查規則。
- 又修復了十幾個Bug。
-
可以幫你自動生成版本號和版本名稱的插件。
視頻
-
課程使用百度地圖SDK,由淺入深的帶領大家從申請百度地圖API Key開始,一步一步實現地圖在APP中的常見的功能,總體包括地圖的引入、基本設置、模式的切換、定位的功能、方向傳感器的結合、以及添加覆蓋物。
設計
教程
-
重磅教程!幫你全面徹底搞定MATERIAL DESIGN的學習筆記
自從Material design發布以來,可樂橙就在一直收集相關素材與資源,研究別人的作品。這套設計風格非常鮮明,帶有濃郁的Google式嚴謹和理性哲學,深得我心。
-
一些本來尺寸很大,質量很不錯的高清png圖片,經過縮小轉為icon時卻變得慘不忍睹。這對于高清控與細節控來說簡直沒法忍,今天分享一篇關于利用Photoshop cs6網格對齊功能繪制高清icon的文章。
資源
-
這是一份為想學 Sketch 的設計師、前端工程師們準備的不完全列表,包含了 Sketch 視頻、文章、手冊等。
來自:http://www.androidweekly.cn/android-dev-weekly-issue17/