Android開發技術週報 Issue#19

教程

  1. Android開源項目源碼解析html

    @Trinea發起的Android開源項目源碼解析項目,目前已校對發佈的分析有:Volley源碼解析、Android Universal Image Loader源碼分析、Dagger源碼解析、EventBus 源碼解析、xUtils源碼解析、ViewPagerindicator源碼解析、HoloGraphLibrary源碼解析、CircularFloatingActionMenu源碼解析、PhotoView 源碼解析、Android Lock Pattern源碼解析以及公共技術點:Java動態代理、Java註解Annotation、View繪製流程、依賴注入和View時間傳遞等。java

  2. Android最佳性能實踐(一)——合理管理內存android

    有很多朋友都問過我,怎樣才能寫出高性能的應用程序,如何避免程序出現OOM,或者當程序內存佔用太高的時候該怎麼樣去排查。確實,一個優秀的應用程序,不只僅要功能完成得好,性能問題也應該處理得恰到好處。爲此,我也是閱讀了很多Android官方給出的高性能編程建議,那麼從本篇文章開始,我就準備開始寫一個全新系列的博文,來把這些建議進行整理和分析,幫助你們可以寫出更加出色的應用程序。git

  3. 深刻解析Android的自定義佈局github

    這篇文章是前Firefox Android工程師(如今跳槽去Facebook了) Lucas Rocha所寫,文中對Android中經常使用的四種自定義佈局方案進行了很好地分析,並結合這四種Android自定義佈局方案所寫的示例項目講解了它們各自的優劣以及四種方案之間的比較。看完這篇文章,也讓我對Android 自定義佈局有了進一步的瞭解,因而趁着興頭,我把它翻譯成中文,原文連接在此數據庫

  4. 巧用Drawable 實現Android UI 元素間距效果編程

    在大部分的移動UI或者Web UI都是基於網格概念而設計的。這種網格通常都是有一些對其的方塊組成,而後它們組合成爲一個塊。使用網格這樣的設計原則能夠有助於對齊UI元素,提高UI的一致性,同時還能讓用戶更加容易的獲取UI上面包含的內容。簡而言之,網格是一個至關的強大的設計工具。瀏覽器

  1. 模塊化的樂趣性能優化

    模塊間的緊耦合是一種很糟糕的設計,而耦合的最壞表現就是模塊間的循環依賴。幸運的是,有幾種方法能夠用來消除循環依賴,分別是回調函數,代碼上移,代碼下移。 接下來,我會爲你們展現一個小例子。示例中,我會分別使用上述幾種技術來消除循環依賴。多線程

  2. 你的Android應用徹底不須要那麼多的權限 
    Android系統的權限從用戶的角度來看有時候的確有點讓人摸不着頭腦。有時候可能你只須要作一些簡單的事情(對聯繫人的信息進行編輯),卻申請了遠超你應用所需的權限(好比訪問全部聯繫人信息的權限)。這很難不讓用戶對你保存戒備。

  3. Android App 性能優化實踐 
    本文從工具、佈局優化、代碼、View的繪製、電量、和Apk的大小等幾個方面記錄了Android App優化須要用到的工具和以及在實踐中的Tips。

  4. MVC,MVP 和 MVVM 的圖示

    複雜的軟件必須有清晰合理的架構,不然沒法開發和維護。MVC(Model-View-Controller)是最多見的軟件架構之一,業界有着普遍應用。它自己很容易理解,可是要講清楚,它與衍生的 MVP 和 MVVM 架構的區別就不容易了。

  5. 爲Nexus5編譯AndroidL固件

    接前一篇文章<使用Android Studio查看Android Lollipop源碼> , 咱們知道,僅僅看代碼,提升是比較有限的,並且理解起來也比較膚淺,每每過目就忘. 而本身寫過的代碼,每每會印象比較深入,在寫的時候也會比較容易理解流程. 因此咱們在看代碼的同時, 若是能修改代碼, 在手機上跑起來並看到修改的效果,這無疑會加快看代碼的效率和積極性.

  6. 與Sevice實現雙向通訊系列

    常常有這樣的應用場景,咱們須要Client端調用Service完成一些事情,Service也能夠經過回調通知客戶端。

  7. 使用Gradle發佈項目到JCenter倉庫

    這篇文章介紹經過Gradle把開源項目發佈到公共倉庫JCenter中,方便你我他的事情,咱們都是很懶的嘛。JCenter如今是Android Studio中repositories的默認節點了,以前是Maven的,不過JCenter是兼容Maven的,因此放心使用。

代碼&開源庫

  1. Carbon

    Material Design的兼容實現,支持Android 2.1+。

  2. RushOrm

    一個ORM框架,核心功能:

    • 自定義字段 - 輕鬆實現定製字段,以便任何對象均可以被序列化到數據庫
    • 表關係
      • 一對一
      • 一對多
      • 保存一個父對象會自動保存與之相關關聯的子對象
    • 文件 - 輕鬆的保存長文本, JSON and bitmaps
    • 升級 - 數據庫升級支持經過註解去刪除和重命名列名。
  3. android-patternview

    圖案密碼解鎖庫。

    imageimage

  4. gif-movie-view

    能夠顯示Gif動畫的自定義View。

  5. JavaCPP

    JavaCPP provides efficient access to native C++ inside Java, not unlike the way some C/C++ compilers interact with assembly language. No need to invent new languages such as with SWIG, SIP, C++/CLI, Cython, or RPython as required by cppyy. Instead, it exploits the syntactic and semantic similarities between Java and C++. Under the hood, it uses JNI, so it works with all implementations of Java SE, in addition to Android, Avian, and RoboVM (instructions).

  6. Genius-Android

    Genius-Android 是 Android 中一些經常使用的的方法集合, Genius 提供6個基本板塊:app(Ui)、animation(動畫)、widget(Material控件)、command(命令行)]、net tool(Ping、Dns...)、util(經常使用方法,類)等。

  7. 5+ Runtime

    5+ Runtime是DCloud推出的HTML5強化引擎,性能和功能都大幅領先phoneg*p,可使用JS調用40W原生API,能夠在低端機上流暢運行。點擊視頻觀看低端機上如何流暢運行App。http://download.dcloud.net.cn/FastAndroid-mini.m4v 也可直接下載App在手機上體驗:

    功能演示:http://dcloud.io/helloh5/ UI演示:http://dcloud.io/hellomui/

  8. freepager

    對ViewPager進行了擴展,支持垂直切換page、垂直無限切換page、水平無線切換page和便可以垂直又能夠水平無限切換page,支持ndroid 2.1.x (API 7) +系統。

    image

  9. Android-MaterialPreference

    一個自定義的,向後兼容的Material Design風格的Preference實現。

    image

  10. CollapseOnScroll

    模仿Android Lollipop Contacts滾動效果的容器View。

  11. AndroidEventBus

    一個Android平臺的事件總線框架, 它簡化了Activity、Fragment、Service等組件之間的交互,很大程度上下降了它們之間的耦合,使得咱們的代碼更加簡潔,耦合性更低,提高咱們的代碼質量。

    image

工具

  1. Android Studio 1.1 Beta 4

    添加了對單元測試的支持以及修復了一些Bug。

  2. gradle-eclipse-aar-plugin 
    一個可讓你在Eclipse中使用Android AAR格式庫的Gradle插件。

  3. Codota

    一個代碼片斷搜索工具。

視頻

    1. 細說多線程之Thread VS Runnable

      本課程帶領你們更加深刻地學習Java多線程機制,深刻理解建立線程的兩種方式之間的差別,掌握線程的生命週期和守護線程的概念。

    2. 變幻無窮的ViewPager切換動畫

      本課程將帶領你們實現個性的ViewPager切換動畫,首先介紹經過PageTransformer結合ViewPager.setPageTransformer來實現動畫效果,而後教你們如何讓其兼容到3.0之後,其中會涉及到屬性動畫等知識點;最後將介紹經過自定義ViewPager的方式來實現動畫切換效果。

    3. android應用卡頓優化實踐-何傑

      Android應用的卡頓問題很是突出,全部用戶都能感受獲得卻又很難作量化卡頓的嚴重程度,過去的作法只是零星地發現和解決一些小點。DAU超億級的UC瀏覽器在卡頓優化的過程當中創建了一套衡量卡頓嚴重性的數據指標與監控分析機制,並藉此有針對性地落實了200+個性能優化點。這裏會介紹卡頓監控與分析的方法、常見的卡頓案例與緣由。

相關文章
相關標籤/搜索