Android開發技術周報 Issue#102
新聞
教程
-
話說Android開源系統擁有著App不計其數,百家爭鳴,都想在這“大爭之世”尋得系統存活的一席之地。然則系統資源有限,如若都割據為王,再強勁的CPU也會忙不過來,再龐大的內存終會消耗殆盡,再大容量的電池續航終會曇花一現。面對蕓蕓眾生,無盡變數,系統以不變應萬變,一招絕殺神技forceStop騰空出世,需要具有FORCE STOP PACKAGES權限,當然這個并非第3方app可以直接調用的, 否則App間可以相互停止對方,則豈非天下大亂。
-
這里的組件化,指的是 MDCC 2016 上馮森林提出的《回歸初心,從容器化到組件化》。我個人一直是比較反感黑科技的,其中首當其沖的就是 插件化 以及 保活。作為一個開發者,除了研究技術,提高自己以外,是否應該考慮些其他東西呢?尤其是我們這些嵌入式系統(客戶端)開發者,在依賴、受哺于系統生態下,是不是應該考慮一下,怎么反哺?怎么去更好地維護這個生態環境,而不是一味破壞、消耗它呢?
-
Android ListView與RecyclerView對比淺析--緩存機制
RecyclerView是谷歌官方出的一個用于大量數據展示的新控件,可以用來代替傳統的ListView,更加強大和靈活。最近,自己負責的業務,也遇到這樣的一個問題,關于是否要將ListView替換為RecyclerView?秉承著實事求是的作風,弄清楚RecyclerView是否有足夠的吸引力替換掉ListView,我從性能這一角度出發,研究RecyclerView和ListView二者的緩存機制,并得到了一些較有益的"結論",待我慢慢道來。同時也希望能通過本文,讓大家快速了解RecyclerView與ListView在緩存機制上的一些區別,在使用上也更加得心應手吧。
-
隨著 Android 引入 Java 8 的一些功能,請記住每一個標準庫的 API 和語言特性都會帶來一些相關的開銷,這很重要。雖然設備越來越快而且內存越來越多,代碼大小和性能優化之間仍然是有著緊密關聯的。這篇 360AnDev 的演講會探索一些 Java 功能的隱藏開銷。我們會關注對庫開發者和應用開發者都有關系的優化和能夠衡量它們影響的工具。在這篇演講里面,我將討論我近六個月以來一直在探索的事情,而且我想披露一些信息。隨著你的深入了解,你可能得不到一些明確的能夠應用在你的應用程序上的東西。但是,到結束的時候,我會有一些具體的技巧來展示如何避免我今天講的這些開銷。我也會展示許多我使用的命令行工具,這些資源的鏈接都在文章結束的地方。
-
這里是Android性能優化典范第6季的課程學習筆記,從被@知會到有連載更新,這篇學習筆記就一直被惦記著,現在學習記錄分享一下,請多多指教包涵!這次一共才6個小段落,涉及的內容主要有:程序啟動時間性能優化的三個方面:優化activity的創建過程,優化application對象的啟動過程,正確使用啟動顯屏達到優化程序啟動性能的目的。另外還介紹了減少安裝包大小的checklist以及如何使用VectorDrawable來減少安裝包的大小。
-
在剛剛過去的云棲大會上,手淘宣布其移動容器化框架Atlas將于2017年年初開源,對這個框架,在過去團隊對外部做過一些分享,外界也一直對其十分關注,到現在它終于即將開源了。本文將介紹Atlas的設計思路和手淘對容器化、組件化和動態化上的思考,主要內容來自阿里巴巴資深技術專家倪生華(玄黎)在2016杭州云棲大會上的分享。Atlas是什么?2013年,手淘航母戰略的制定,帶來了業務和開發人員的翻倍膨脹。從不到100人猛增四五倍,同時業務數量大增,整個客戶端的架構和發版節奏受到極大挑戰,Atlas作為之前手淘客戶端的基礎框架,進行了一次大的重構,形成了今天的Atlas。
-
SharedPreference是Android上一種非常易用的輕量級存儲方式,由于其API及其友好,得到了很多很多開發者的青睞。但是,SharedPreference并不是萬能的,如果把它用在不合適的使用場景,那么將會帶來災難性的后果;本文將講述一些SharedPreference的使用誤區。
-
重新認識AndroidStudio和Gradle,這些都是你應該知道的
本文要從AndroidStudio的環境安裝升級,Gradle,Eclipse轉AS,多渠道配置,Maven私服,Action,Option,快捷鍵等幾個方面出發,講一些操作技巧以及我對AndroidStudio使用的一些理解與經驗。本文較全面的講述了我們在開發中必須要了解的,比較多而全,可能不能馬上記住,目的在于大家看完之后能有一個認識,在需要使用的時候知道有這么個東西。希望對你的開發工作有所幫助,不足之處,請批評指正。
-
在本文中,我舉了兩個復雜的調度場景,結合這兩個場景,以及前面講到的原理,大家對調度的原理應該有了更深刻的理解,后面面對更復雜的調度需求,相信也能輕松地解決了。RxJava 最大的兩個特點:事件流操作,異步。組合利用各種操作符,我們可以實現復雜的事件流處理需求,例如前文中提到的緩存:根據一組 id,先從本地查詢,本地缺失的部分再從服務器獲取,再把兩者合并起來返回,最后服務器獲取的部分還要保存到本地。
開源庫&項目
-
與 Google 系應用設計相同、支持拉伸、修正原生實現諸多問題的星級評分條。
-
最最輕量級的新手引導庫,能夠快速為任何一個View創建一個遮罩層,支持單個頁面,多個引導提示,支持為高亮區域設置不同的圖形,支持引導動畫,方便擴展,良好支持fragment
-
這是一款針對于移動流量劫持而開發的手機抓包軟件 主要功能包括:手機端抓包、PING/DNS/TraceRoute診斷、抓包HAR數據上傳分享。
-
一個模仿 Smartisan OS 的 BigBang 功能的 Demo
-
ProgressBar view with image and retry button
-
Design Patterns implemented in Kotlin
-
一個方便簡約的 Android 圖片壓縮工具庫,提供多種壓縮策略(包括Luban原有的壓縮策略),多種調用方式,自定義壓縮,多圖同步壓縮,專注更好的圖片壓縮使用體驗
-
本項目對于正在學習Xmpp以及javaweb后臺的同學,可以看一下。
-
A 3D Layout for Android,When you use it warp other view,it can became a 3D view
-
BottomDialog 是一個通過 DialogFragment 實現的底部彈窗布局,并且支持彈出動畫,支持任意布局
-
Build safely Android app, no more Activity not found, Activity state loss and NPE during fragment transaction!
-
One Behavior help AppBarLayout to scroll spring.
-
Glide Bitmap Pool is a memory management library for reusing the bitmap memory
-
A Complete Fast Android Networking Library that also support HTTP/2
工具
-
Python ADB + Fastboot implementation
-
用busybox加持的功能更加強大的adb shell;不需要root
-
一款Intellj IDEA 和Android Studio 自動生成MVP模式所需接口以及實現類的插件
設計
來自:http://www.androidweekly.cn/android-dev-weekly-issue-102/