• 鍍金池/ 教程/ Android/ Best Practices for Background Jobs
    Launch mode 和 Intent flags專(zhuān)題
    Canvas & Drawables
    UTAustinX_UT.9.01x: Effective Thinking Through Mathematics
    《JavaScript 語(yǔ)言精粹》
    Memory leak專(zhuān)題
    React基礎
    《Test Driven Development: By Example》一書(shū)
    Developer tools
    安卓開(kāi)發(fā)技能樹(shù)
    <a rel="nofollow" href="https://mp.weixin.qq.com/s?__biz=MzA3NDM
    Best Practices for Interaction and Engagement
    各個(gè)安卓版本引入的主要新特性
    Building Apps with Connectivity &amp; the Cloud
    List.toArray()再強轉是一定會(huì )失敗的
    深入Android frameworks
    Google dev 100 days系列視頻
    Building Apps with Contacts &amp; Sign-In
    關(guān)系型數據庫設計范式
    《App研發(fā)錄》一書(shū)
    REST API設計
    Google IO 2015摘要
    自定義View/ViewGroup以及高性能實(shí)現自定義UI
    安卓系統點(diǎn)擊事件處理
    《50 Android Hacks》一書(shū)
    Building Apps with Content Sharing
    Flux基礎
    <a rel="nofollow" href="http://developer.android.com/training/in
    依賴(lài)注入(以Dagger 2為例)
    Java同步機制
    Java對象內存的使用情況
    JSR133(Java memory model)
    Google官方Material Design手冊(<a rel="nofollow" href="http://develop
    Futurice公司安卓團隊的建議
    安卓性能優(yōu)化
    • 1.
    Best Practices for Performance
    <a rel="nofollow" href="http://www.vogella.com/tutorials/Android
    <a rel="nofollow" href="http://blog.danlew.net/2014/11/19/styles
    Handling Runtime Changes
    <a rel="nofollow" href="http://www.vogella.com/tutorials/Android
    Building Apps with Graphics &amp; Animation
    <a rel="nofollow" href="http://tools.android.com/tech-docs/new-b
    Android項目架構
    MVP(Model-View-Presenter)模式
    <a rel="nofollow" href="http://www.infoq.com/cn/es6-in-depth/"">
    《Android源碼設計模式解析與實(shí)戰》一書(shū)
    Rx在A(yíng)ndroid中的最佳實(shí)踐
    函數調用時(shí),傳遞參數應該是不可變的(Immutable)
    ProGuard
    面向對象六大原則(SOLID+)
    深入理解Java虛擬機
    深入Java深淺拷貝、immutable、unmodifiable
    Best Practices for User Input
    UI上的一些高效方式/最佳實(shí)踐
    <a rel="nofollow" href="https://blog.stylingandroid.com/ripples-
    Best Practices for User Interface
    安卓測試驅動(dòng)開(kāi)發(fā)/安卓測試驗證
    暗時(shí)間:學(xué)會(huì )正確思考
    技術(shù)筆記
    Aspect Oriented Programming(AOP)
    Best Practices for Background Jobs
    安卓系統動(dòng)效專(zhuān)題
    Feed系統的設計
    Data binding(MVVM,Model-View-ViewModel)
    Effective Java一書(shū)筆記
    <a rel="nofollow" href="http://developer.android.com/training/in
    Rx (Reactive eXtention)
    MultiDex專(zhuān)題
    一些很棒的點(diǎn)子
    WebRTC

    Best Practices for Background Jobs

    Creating a Background Service

    • IntentService被設計于用來(lái)在一個(gè)單獨的后臺線(xiàn)程執行耗時(shí)操作,它是對Service組件的一個(gè)封裝, 通過(guò)HandlerThreadServiceHandler將其任務(wù)代碼放到單獨的線(xiàn)程執行
    • 處理的結果需要通過(guò)EventBus或者LocalBroadcast發(fā)送到Activity
    • 由于Service同時(shí)只會(huì )存在一個(gè)實(shí)例,所以如果同時(shí)發(fā)送多個(gè)Intent,它們會(huì )串行執行

    Loading Data in the Background

    • CursorLoader可用于從ContentProvider異步加載數據

    Managing Device Awake State

    • 保持屏幕不鎖屏:在A(yíng)ctivity的onCreate函數中執行:getWindow().addFlags(WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);
    • 或者在layout中加入:android:keepScreenOn="true"
    • 保持CPU運行:wake lock

      • 例如:后臺Service在鎖屏后仍希望進(jìn)行數據處理
      • 聲明權限:<uses-permission android:name="android.permission.WAKE_LOCK" />
      • 獲得wake lock

            PowerManager powerManager = (PowerManager) getSystemService(POWER_SERVICE);
            WakeLock wakeLock = powerManager.newWakeLock(PowerManager.PARTIAL_WAKE_LOCK,
                    "MyWakelockTag");
            wakeLock.acquire();
            // do sth
            wakelock.release();
        • IntentService結合WakefulBroadcastReceiver,可以有效提高后臺任務(wù)的電池效率
    • Scheduling Repeating Alarms,使用AlarmManager
    草莓视频在线观看视频6_免费草莓视频_草莓视频在线下载免费官网_草莓视频黄色在线观看