Android開發周報:Android廠商寒冬將至、Android內存申請分析
新聞
-
《Android Marshmallow/Nougat 進行時:設備升級列表已公布》 :近日Google攜眾廠商發布了Android Marshmallow和Android Nougat的設備升級列表。Nexus系列一直是重點關懷對象,從最新的Nexus 6P/5X、Nexus 6 / Player、Nexus 9 LTE / WiFi,到Nexus 5、以及Nexus 7 2013(雙版本),均支持升級到“棉花糖”(Marshmallow)。此外,前半截還很有望吃到“牛軋糖”(Nougat)。
-
《Android陣營集體悲劇》 :短短幾周內,安卓廠商負面新聞不斷。先是索尼關停了自己在巴西的智能機生產線,隨后戴爾退出安卓陣營,而一直表現不錯的LG則因為旗艦G5銷量差更換了多名高管。其實這種情況的出現并非意外,畢竟智能機銷量正在放緩,但加入戰團的廠商卻越來越多,僧多粥少必然會造成某些廠商鎩羽而歸。
教程
-
《不要再給MVP中的Presenter寫接口了》 :幾個月前Google發布了一個官方MVP示例項目,在項目中,Google首先寫一個上帝接口BasePresenter,然后在每個功能模塊里都寫了協議類名為某某Contract,在其中封裝了模塊下的View接口和Presenter接口。這種管理方式的好處是,將View和Presenter管理起來,強化其一一對應的關系,便于操作。不論是否以協議類的方式呈現,現在開發者喜歡讓Presenter繼承接口。而本文觀點正好相反,本文的觀點不一定正確,但希望能引起你對這個問題的思考。
-
《Android內存申請分析》 :在做優化的過程,除了關注內存的申請量以及GC的情況之外,我們經常需要想方法找出是那些對象占用了大量內存,以及他們是如何導致GC的,這意味著我們需要獲取對象申請的信息(大小,類型,堆棧等),本文為我們介紹了幾種獲取對象申請信息的方法。
-
《為什么Android開發者應該使用FlatBuffers替代JSON?》 :你可能會問,既然我們已經有很標準的JSON以及轉換庫比如GSON和Jackson,為什么還要使用新的工具呢?不妨先試一下FlatBuffers,然后你就會發現它比JSON快得多。FlatBuffers是一個高效的跨平臺序列化類庫,可以在C++、C#、C、Go、Java、JavaScript、PHP和Python中使用。是Google開發的,是為了應用在游戲開發,以及其他注重性能的應用上。
-
《Unity Android Plugin開發指南》 :本文為我們介紹了如何在Unity工程中使用Android或者Java的庫,包括:如何在Unity項目中使用Android Plugin、Unity-Android相互調用、Unity接口設計的最佳實踐、如何構建Unity-Android混合項目、如何調試Unity和Android代碼。本文有助于我們上手Unity。
-
《安卓單元測試(八):Junit Rule的使用》 :一個JUnit Rule就是一個實現了TestRule的類,這些類的作用類似于@Before、@After,是用來在每個測試方法的執行前后執行一些代碼的一個方法。此外,JUnit Rule還能做一些@Before這些Annotation做不到的事情,那就是他們可以動態的獲取將要運行的測試類、測試方法的信息。閱讀文章,了解Junit Rule的更多細節。
-
《Google I/O 2016筆記:APK瘦身的正確姿勢》 :業務邏輯不斷累積、引入的第三方SDK不斷增加以及圖片資源不變變大,APK瘦身已經是每個Android應用開發者不得不考慮的問題了。坊間流傳的各種瘦身方法有些切實可行,有的卻流毒甚廣。本文為我們總結了2016 Google I/O大會上提到的瘦身技術。
-
《Android Vector曲折的兼容之路》 :Android 5.0發布的時候,Google提供了Vector的支持。Vector Drawable相對于普通的Drawable來說,好處很多,比如:可以自動進行適配、大幅減少圖像的體積、使用簡單,很多設計工具支持、成熟、穩定,前端已經非常廣泛的進行使用了。本文詳細介紹了Vector的兼容之路,并講解了Vector的使用方法。
-
《深度理解Android InstantRun原理以及源碼分析》 :Instant Run是Android Studio2.0以后新增的一個運行機制,能夠顯著減少你第二次及以后的構建和部署時間。簡單通俗的解釋就是,當你在Android Studio中改了你的代碼,Instant Run可以很快的讓你看到你修改的效果。而在沒有Instant Run之前,你的一個小小的修改,都肯能需要幾十秒甚至更長的等待才能看到修改后的效果本文詳細深度介紹了Android InstantRun原理并且結合其源碼分析了實現細節。本文有助于我們擴張插件化的思路。
開源項目
-
Music-Player :這是一款簡易的音樂播放器,列表頁到播放頁的切換動畫很贊。 這里 是一篇介紹項目實現過程的文章。
-
FocusResize :該項目實現了RecyclerView在滑動時動態伸縮的效果。
-
VirtualApp :VirtualApp是一個App虛擬引擎的開源實現,類似LBE平行空間。 VirtualApp在你的App進程內創建一個虛擬空間,你可以在虛擬空間內任意的安裝、啟動和卸載APK, 這一切都與外部隔離,就如同一個沙盒。VirtualApp亦是一個插件化框架,運行在VirtualApp的插件不需要任何的約束。
報告
-
《中國Android生態大數據報告 (五月)》 :和蘋果iOS系統不同,Android系統的開放性,使得整個生態(特別是在中國)呈現出復雜的多元性。而其中對于 APP的整體表現評價和數據監測判斷,也就變得更加困難。本報告數據分別來自騰訊應用寶大數據團隊,星APP榜單數據團隊,和企鵝智酷對4525名網民的獨家調研,數據經過精準抽樣和分層處理。
-
《國內Top500Android應用分析報告》 :本報告是作者針對豌豆莢上Top500的應用進行分析后得出的,報告主要從MiniSDK、largeHeap、Methods、引用的開源項目以及使用RXJava的情況等緯度展開。