201801-29 2018 年初值得關注的 25 個新 Android 庫和項目 這是我最新收集的25個Android庫和項目列表,你也許會發現它們有用,有趣,并值得查看一下。所有的都在最近3個月發布的,排序不分先后。開始查閱吧!1.transitionerTransitioner是一個為兩個擁有嵌入子視圖的視圖之間提供簡便、動態且可調整的動畫效果的庫。它純 100%使用Kotlin編寫而成,使用MIT許可,且擁有良好的文檔。該庫支持API19及以上的SDK版本,而且在項目中也包含了用... 繼續閱讀 >
201801-16 Android 內存暴減的秘密?! WeTest導讀在我這樣減少了26.5MJava內存!一文中內存優化一期已經告一段落,主要做的事情是,造了幾個分析內存問題的輪子,定位進程各種類型內存占用情況,分析了線程創建OOM的原因。當然最重要的是,優化了一波進程靜息態的內存占用(減少26M+)。而二期則是在一期的基礎之上,推進已發現問題的SDK解決問題,最終要的是要優化進程的動態Java內存占用!通常來說不管是做什么性能優化,逃不出性能優化3步曲:... 繼續閱讀 >
201801-03 Android跨進程IPC通信AIDL 簡介AIDL:AndroidInterfaceDefinitionLanguage,即Android接口定義語言,用于生成Android不同進程間進行進程通信(IPC)的代碼,一般情況下一個進程是無法訪問另一個進程的內存的。如果某些情況下仍然需要跨進程訪問內存數據,這時候Android系統就要將其對象分解成能夠識別的原數據,編寫這一組操作的代碼是一項繁瑣的工作,但是AIDL對底層進行了抽象的封裝,簡化了跨進程操作。在Android中跨進程操作的方式不止一種,... 繼續閱讀 >
201712-28 記一次公司的Android分享會 前言我剛來這個公司的時候,每個周三都會有分享會,主題自定,分享對象盡量是面向大眾,一開始覺得不錯,但是到后面發現分享的內容不是那么有營養,而且積極性不是很高,都是當做任務進行分享。程序員因為較為靦腆,分享的人較少,大部分都是客戶部、分析部或者推廣部的分享,久而久之,氛圍就比較消極。為了提高咱們程序員發言的積極性,增添技術部的溝通氛圍,決定之前的分享形式不變,但是改為月末一次,技術部的分... 繼續閱讀 >
201711-29 Android換膚原理和Android-Skin-Loader框架解析 Android換膚技術已經是很久之前就已經被成熟使用的技術了,然而我最近才在學習和接觸熱修復的時候才看到。在看了一些換膚的方法之后,并且對市面上比較認可的Android-Skin-Loader換膚框架的源碼進行了分析總結。再次記錄一下祭奠自己逝去的時間。換膚介紹換膚本質上是對資源的一中替換包括、字體、顏色、背景、圖片、大小等等。當然這些我們都有成熟的api可以通過控制代碼邏輯做到。比如View的修改背景顏色setBackgrou... 繼續閱讀 >
201711-22 「Android」Bolts-更簡單的完成線程調度和任務管理 使用Bolts可以將一個完整的操作拆分成多個子任務,這些子任務可以自由的拆分、組合和替換,每個任務作為整個任務鏈的一環可以運行在指定線程中,同時既能從上行任務中獲取任務結果,又可以向下行任務發布當前任務的結果,而不必考慮線程之間的交互。Bolts-AndroidBolts在Android下的實現Bolts-ObjCBolts在OC下的實現Bolts-SwiftBolts在Swift下的實現前言一個關于線程調度的簡單需求,在子線程從網... 繼續閱讀 >
201710-25 我學習Android的一些套路 今天我將給大家分享一下我學習Android的一些方法和想法,分享中并不局限于Android哪一塊怎么學習。而是一個總體的,普適性的學習套路和方法。希望可以幫助大家解決一些問題。注意本文為知乎Live底稿,知識點相對分散,后面部分包含了一些聽眾提出的問題,但是不影響總體的閱讀和理解。Android需要打好哪些編程基礎Java基礎(Kotlin)(參考技能樹http://olabqc6d8.bkt.clouddn.com/Java_skill_tree.png)O... 繼續閱讀 >
201708-19 Android內存泄漏思考 Android內存泄漏是一個經常要遇到的問題,程序在內存泄漏的時候很容易導致OOM的發生。那么如何查找內存泄漏和避免內存泄漏就是需要知曉的一個問題,首先我們需要知道一些基礎知識。Java的四種引用強引用:強引用是Java中最普通的引用,隨意創建一個對象然后在其他的地方引用一下,就是強引用,強引用的對象Java寧愿OOM也不會回收他軟引用:軟引用是比強引用弱的引用,在Javagc的時候,如果軟引用所引用的對象被回... 繼續閱讀 >
201707-23 最全面Android 導航模式解析 任何在用戶界面模擬載體移動的場景便是導航。使用應用程序將兩個用戶屏幕連接到一起,便是一種導航。這個連接——無論它是什么——即是用戶用來運送信息的載具。盡管創建一個導航很簡單,但是去創造一個適當的導航并不容易。本文我們將研究一些Android上最常用的導航模式,解讀它們是如何影響底層導航,如何正確的使用這些模式讓它來符合用戶的需求。1定義導航在看一些常見導航模式之前,先回顧一下關于軟件... 繼續閱讀 >
201707-15 Android開發周報:微信模塊化重構實踐、滴滴插件化項目開源 新聞7月份安卓各版本份額:牛軋糖終于突破兩位數:谷歌近日給出了安卓系統各版本最新的份額數據,去年推出牛軋糖版本(7.0,7.1)終于達到了兩位數的市場份額,占11.5%。2015年推出的棉花糖仍然占據統治地位,市場份額達31.8%,之后是棒棒糖,也高達30.1%?!豆雀璋凳荆篈ndroid8.0系統正式版即將到來》:從谷歌發布信息來看,谷歌會于本月底推送Android8.0的最后一個開發者預覽版,此版本將接近于最終正式版... 繼續閱讀 >
201703-10 Android Studio,使用技巧,問題記錄和一些好用的插件 使用技巧根據不同buildType使用不同包名和資源比如在production,development,qa不同階段使用不同的packageName和authority,在build.gradle中配置如下:productFlavors{production{applicationId="com.myapp.app"resValue"string","authority","com.facebook.app.FacebookContentProvider5435651423234"}development{applicationI... 繼續閱讀 >
201701-03 我的 Android 開發實戰經驗總結 以前一直想寫一篇總結Android開發經驗的文章,估計當時的我還達不到某種水平,所以思路跟不上,下筆又捉襟見肘。近日,思路較為明朗,于是重新操起鍵盤開始碼字一番。先聲明一下哈,本人不是大廠的程序猿。去年畢業前,就一直在當前創業小團隊從事自己熱愛的打碼事業至今。下面總結是建立在我當前的技術水平和認知上寫的,如有不同看法歡迎留下評論互相交流。1.理解抽象,封裝變化目前Android平臺上絕大部分開發都是用著Ja... 繼續閱讀 >
201611-24 50個安卓開發者應該熟悉的Android Studio技巧和資源 本文列舉出一些可以提高整體效率的AndroidStudio技巧和資源。顯然有太多太多這方面的東西,但是為了文章的簡潔性,我把它限制在50個以內,希望你能喜歡!視覺效果1.AndroidLogcat的Material顏色主題。要改變AndroidStudio的Logcat你需要這樣做:進入Preferences(Windows上是Settings/Linuxmachines)→Editor→Colors&Fonts→AndroidLogcat,然后為每種類型的log設置前景顏色(foreground... 繼續閱讀 >
201611-21 APP啟動慢怎么辦,Android官方這樣說 這篇文章從干貨總量方面不如第一篇,而且一連發了兩篇類似文檔,總感覺沒有進步與新意。但是后來琢磨了一下,這篇質量也不差,APP啟動時間也是此次項目我新碰到的一個點,估計也有相當多的同學碰到這個問題。之前并沒有太在意這個點,網上也已經有比較好的文章來解決這個問題。但是還是跟第一篇的原因類似,官方的文章還是從原理上分析的比較好, 不僅授之以魚,還授之以漁 。所以還是想翻過來分享給大家,希望多指教,... 繼續閱讀 >
201611-10 Android里巧妙實現緩存 為了快速查詢會被多次調用的數據,或者構建比較廢時的實例,我們一般使用緩存的方法。緩存的基本概念大體上差不多,這里就不再重復,有興趣的可以查看維基百科的介紹。緩存有很多的實現方式,技巧性還有坑都很多,今天我給大家介紹一些非通用的方法,可以巧妙地幫大家簡單實現一些內存緩存。Supplier和MemoizeSQLite是Android里常用的一種數據存儲方式,在訪問數據庫數據時需要通過SQLiteOpenHelper。一份好的數據庫連接代碼... 繼續閱讀 >
201611-07 一個 2 年 Android 開發者的 18 條忠告 我仍記得2014年我決定做安卓開發的那天,這是我一生中做出的最好決定之一。到現在已經有2年半了,最初的時候,并沒有人告訴我如何做才是正確的。我犯了很多錯誤,浪費了很多時間。 一年半之后,我有機會和一個真正有才而且經驗豐富的安卓開發者一起工作,他指導我,教我正確的做事方式。這期間我學到了很多東西,學會了該做什么不該做什么。我直接或者間接幫助其它開發者也有很長一段時間了。這里是我的StackOverflow和G... 繼續閱讀 >