Android開發技術周報 Issue#67

來源:互聯網
上載者:User

Android開發技術周報 Issue#67
新聞

  1. OpenJDK將對Android開發產生怎樣的影響?

    在2015年年底,InfoQ曾提到Google已經決定在Android中使用OpenJDK,以取代基於Harmony實現的Java庫。儘管這條訊息在宣布時恰逢聖誕期間,但Google的這一決定還是在互連網上引起了很大的反響,我們將在本文中對於這些觀點進行一次總結。

    教程
    1. ReactNative For Android 項目實戰總結

      Android Qzone 6.1版本在情侶空間涉水React Native,以動態外掛程式方式將情侶空間進行React Natived的改造。在情侶空間基礎上,Android Qzone 6.2版本以融合的方式將話題圈進行React Native改造。本文主要講述話題圈的開發改造流程,相關資料對比及效能最佳化,本次改造ReactNative基於15Release。

    2. 淺析 Android 的視窗

      在開發過程中,我們經常會遇到,各種跟視窗相關的類,或者方法。但是,在 Android 的架構設計中,到底什麼是視窗?視窗跟 Android Framework 中的 Window 類又是什麼關係?以手機QQ 的主介面為例,如所示,上面的狀態列是一個視窗,手機QQ 的主介面自然是一個視窗,而彈出的 PopupWindow 也是一個視窗,我們經常使用的 Toast 也是一個視窗。

    3. Android 中有限狀態機器的設計和應用
      主要內容有:有限狀態機器思想溯源,有限狀態機器的基本概念和編程思想,Android StateMachine 原始碼解析,Android StateMachine應用執行個體

    4. Android相機開發那些坑

      最近我負責開發了一個跟Android相機有關的需求,新功能允許使用者使用手機網路攝影機,快速拍攝特定尺寸(1:1或3:4)的照片,並支援在拍攝出的照片上做貼紙相關的操作。由於之前沒有接觸過Android相機開發,所以在整個開發過程中踩了不少坑,費了不少時間和精力。這篇文章總結了Android相機開發的相關知識、流程,以及容易遇到的坑,希望能協助今後可能會接觸Android相機開發的朋友快速上手,節省時間,少走彎路。

    5. 生還是死?Android 進程優先順序詳解

      讓我們面對現實:行動裝置上沒有無限的記憶體、無限的電池或者其它無限的資源。這對應用而言意味著你應該把進程死亡作為應用生命週期的一個自然過程對待。最重要的是確保殺死進程及記憶體回收不會對使用者造成負面影響。事實上,Android 中的多數進程架構都是為了確保特定的順序而特別設計的,並按重要性層次遵循一組模式。

    6. 最佳化 Android 線程和背景工作開發

      在 Android 開發中,你不應該做任何阻礙主線程的事情。但這究竟意味著什麼呢?在這次海灣 Android 開發人員大會講座中,Ari Lacenski 認為對於長時間運行或潛在的複雜任務要特別小心。這一次演講,我們將根據一個真實情境應用的需求,討論 AsyncTask, Activity, 和 Service,逐步建立一個更易於維護的解決方案。

    7. Android 6.0: 動態許可權管理的解決方案

      Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了使用者體驗, 同時也為程式員帶來新的負擔. 動態許可權管理就是這樣, 一方面讓使用者更加容易的控制自己的隱私, 一方面需要重新適配應用許可權. 時代總是不斷髮展, 程式總是以人為本, 讓我們為應用添加動態許可權管理吧! 這裡提供了一個非常不錯的解決方案.

    8. 如何自訂Android註解?
      目前基於註解的開源項目越來越熱,Dagger, ButterKnife, Retrofit...很多熱門的開源項目都用到了註解,如何才能像GitHub大牛那樣優雅得使用註解呢?本文作者就給你一步步地示範,文末還有完整代碼喲。

    9. Andriod 破解之道(一)

      在Root前提下,我們可以使用Hooker方式綁定so庫,通過逆向方式篡改數值,從而達到所謂破解目的。然而,目前無論是軟體加固方式,或是資料處理能力後台化,還是用戶端資料真實性驗證,都有了一定積累和發展,讓此“懶技術”不再是破解修改的萬金油。再者,閱讀彙編指令,函數指標替換,壓棧出棧等技術需要一定技術沉澱,不利於開發同學上手。

    10. Android 破解之道 (二)

      在這篇文章,我們來討論一下基於Android系統多快取檔案方式截屏的一些事。《 破解之道(一)》開篇介紹了基於Root環境截屏的技術,使用這種方式擷取螢幕資料是快捷而便捷的。然而,大家先不要開心太早,此中卻有兩個系統級問題,很少有文章涉獵討論,在此向大家詳細解說一下。

    11. 動態Android編程

      本文章有些例子需要對Java或Android有一定編程基礎。與Python相比,Java是一門比較嚴肅的語言。作為一個先學Python的程式員,做起Android難免會覺得不舒服,有些死板,非常懷念decorator等方便的方法。為了實現一個簡單的邏輯,你可能需要寫很多額外的代碼。

    12. Bitmap.recycle引發的血案

      在Android中,Bitmap的儲存分為兩部分,一部分是Bitmap的資料,一部分是Bitmap的引用。在Android2.3時代,Bitmap的引用是放在堆中的,而Bitmap的資料部分是放在棧中的,需要使用者調用recycle方法手動進行記憶體回收,而在Android2.3之後,整個Bitmap,包括資料和引用,都放在了堆中,這樣,整個Bitmap的回收就全部交給GC了,這個recycle方法就再也不需要使用了。

    13. 如何學習 Android Animation?
      動畫可以做成什麼樣子(第1類)下述幾篇博文通過如下3個方面向開發人員展示『動畫』:給出一些指導原則,闡述為什麼要如此做動畫,或者這樣的動畫有什麼好處;給出 GIF 動圖,直觀地展示動畫是什麼;給出實現這種動畫的程式碼片段(關鍵類、方法、資源檔)或者實現思路;這非常棒,可以協助我們很快建立動畫的印象,瞭解某個名詞代表的動畫是什麼樣子,應該怎麼去實現。而且程式碼片段很多是從開源項目中摘錄的,意味著我們可以調試這些動畫。

    14. 淺談 Android 開發文化

      品質從使用者反饋很清涼然後我們就只能看 CPU 原來的想法是但是事實上不是這些但是我們可以把資料收集上來,從長遠角度來說,我們呢很簡單,怎樣擺脫這種要辭職的想法,那我能去哪,要幹啥,任何團隊都有一定的問題,如果他走,我覺得我還可以接受缺一個警示什麼叫我們的團隊當時是Android 開發現在陷入了困境(快陷入七年了…)。

    15. 如何對 Android 庫進行依賴管理?

      Android 開發人員為項目選擇庫的時候,考慮的因素不僅僅是功能、可用性、效能、文檔豐富度和支援人員情況。他們還關心庫的大小,以及要添加的方法數量。因為項目越大,依賴也越多,要把應用的方法數量控制在65k 以下,開發人員感覺很有壓力。另外,對於非發行版項目而言,Proguard 使用起來效率太低,而且開發人員視 multidex 如瘟疫,避之唯恐不及。因此,編寫庫的作者必須特別注意項目的大小。

    16. 如何量化Android應用的“卡”?—流暢度原理&定義篇

      在手機App競爭越來越激烈的今天,Android App的各項效能,如CPU、記憶體消耗等都有了客觀的衡量指標。但對於App使用過程是否流暢,一直沒有一個可靠的指標將使用者的客觀感受和資料一一對應。雖然之前有FPS(每秒畫面格數)作為遊戲或視頻類App的效能指標,但對於那些介面更新不多的App來說,仍不是一個合適的衡量資料。

    17. 基於Fragment的Android前台服務架構

      從Android 3.0開始,Google引入了全新的Fragment UI體系,重新詮釋了可複用可延展的Android UI設計理念。Android Support Library更是為任何面向低版本Android的應用開發人員提供了完整的Fragment與舊版相容方案(backport)。所以,如果開發一款新的Android應用,使用Fragment已無需有任何顧忌。儘早擁抱這一強大的機制設計,可以幫你省下可觀的開發和維護工作量。

      開源庫&項目
      1. DilatingDotsProgressBar

        圓點交替擴大效果的進度條

      2. MaterialIntroView

        一款可用於給 Android 應用添加使用者引導視圖的庫

      3. AppCompat-Extension-Library

        在 AppCompat Design Library 的基礎上提供了額外的控制項:AccountHeaderView、FloatingActionMenu、CircleImageView、FlexibleToolbarLayout, Delightful Detail Drawables 和 TypefaceCompat

      4. Freezer

        一個簡單的 ORM 庫

      5. ProgressFloatingActionButton

        帶進度條的 FloatingActionButton

      6. CircleDemo

        仿實現的朋友圈

      7. AndroidLintPlus
        定製 Lint 規則

      8. AndroidProcess

        不要拿來幹壞事

      9. sliding-deck

        效果很贊

        工具
        1. pngquant

          圖片壓縮命令列工具,使用教程

        2. dexcount-gradle-plugin

          統計方法個數的外掛程式

        3. GoogleDevelopersColorScheme

          適用於 IDEA 和 Android Studio 的代碼色彩配置

          視頻
          1. Android應用程式UI硬體加速渲染技術

            羅昇陽大神的分享,不容錯過

            技術之外
            1. 遠離“不聰明且勤奮的人”

              看看你周圍有這樣的人沒

            2. 和不靠譜的PM、UI打交道時一種什麼樣的體驗?

              是段子還是現實

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.