Android開發周報:Google I/O大會日期確定、Bitmap內存詳解

jopen 8年前發布 | 31K 次閱讀 安卓開發

新聞

  1. 《2016 Google I/O大會日期確定》 :近日,谷歌正式宣布了一年一度的Google I/O開發者大會2016年的舉辦日期為5月18日—20日。過去的一年對谷歌來說相當重要,他們發布了安卓6.0,在自動駕駛汽車領域獨領風騷,進行了架構重組,誕生了名為Alphabet的新公司。雖然取得了許多成績,但并不代表谷歌會躺在功勞簿上睡大覺。在今年的Google I/O大會上,谷歌依然會帶給大家許多驚喜。此外,微軟的重新崛起和蘋果的步步緊逼也讓谷歌壓力山大,如果谷歌不能拿出更好的產品,恐怕就會在三巨頭的競爭中落于人后。
  2. 《ZeroTurnaround宣布JRebel for Android 1.0》 :ZeroTurnaround發布了JRebel for Android的第一個穩定版本。它是流行插件JRebel的Android版本,允許修改正在運行中的應用程序,而且不必重新部署或重啟。JRebel for Android適用于Android Studio,可以從JetBrains插件庫下載,支持所有運行Android 4.0及以上版本的手機和平板。ZeroTurnaround提供了為期21天的免費試用,起步價為每年49美元。
  3. </ol>

    教程

    1. 《Android開發繞不過的坑:你的Bitmap究竟占多大內存》 :從事Android開發的同學幾乎都遇到過OOM的問題。很多時候引起OOM的原因就是圖片太大。因為圖片消耗內存比較嚴重,所以在加載之前我們最好知道要加載的圖片會占用多大的內存。 getByteCount 就是來干這件事情的,它是由Android API直接提供的一個方法。本文順藤摸瓜,詳細分析了該方法的實現過程。
    2. 《手把手教你用Kotlin實現ButterKnife》Kotlin 是一門與Swift類似的靜態類型JVM語言,由JetBrains設計開發并開源。與Java相比,Kotlin的語法更簡潔、更具表達性,而且提供了更多的特性,比如,高階函數、操作符重載、字符串模板。它與Java高度可互操作,可以同時用在一個項目中。當然,大家對 ButerKnife 一定也不陌生。本文講解了用Kotlin實現ButterKnife的完整過程,是我們學習Kotlin的優秀教程。
    3. 《如何選擇compileSdkVersion, minSdkVersion和targetSdkVersion》 :當你發布一個應用之后,可能沒過幾個月 Android 系統就發布了一個新版本。但之前所有東西還能夠正常工作,這是因為Android支持向前兼容。用戶在升級到新版Android的時候,用以前版本的SDK構建的現有應用理論上應該不會出問題。這就是compileSdkVersion, minSdkVersion和targetSdkVersion的作用,他們分別控制可以使用哪些API,要求的API級別是什么,以及應用的兼容模式。閱讀文章,了解更詳細的內容。
    4. 《AndroidFlux-異步請求和網絡》 :Flux是一個由非死book開發的、利用單向數據流實現的應用架構,用于React。Flux應用有三個主要的部分組成:調度程序、存儲和視圖(React 組件)。在移動開發中,異步網絡操作必不可少,本篇著重介紹在Flux模式中如何處理異步操作的問題,并深入一些細節,比如如何在異步操作時顯示異步狀態。另外,網絡操作僅僅是異步操作的一種,最后擴展ActionCreator的語義來處理更多的業務邏輯。
    5. 《Android工具箱之Context解析》 :Context是Android開發過程中出現頻率最高的類。通過Context可以獲取應用狀態的信息。有了Context,activitys和Fragments以及Services能夠使用資源文件、圖片、主題以及其他的文件夾內容。Context也可以用于Android自帶服務,例如inflate,鍵盤,以及content providers。本文從Context的用途、適配器、內存溢出、Application與Context等幾個角度分析了Context,對于我們深入了解Context有一定的幫助。
    6. 《Android應用開發之自定義View觸摸相關工具類全解》 :本文是對于自定義View中工具類、事件傳遞的一個總結。從ViewConfiguration基礎參數工具類、VelocityTracker手勢速率工具類、GestureDetector手勢工具類等幾個方面總結了自定義控件常用的知識點。其實關于自定義控件的基礎觸摸相關的內容并不是很多,掌握了文章中提到的這些內容,相信你就能夠玩轉Android自定義控件觸摸相關的處理。
    7. 《事件總線源碼分析》 :在Android中處理不同組件之間的事件傳遞依靠廣播機制,即Intent/BroadcastReceiver機制,其原理類似于傳感網中的Ad hoc網絡模式,所有組件處在一種無序狀態。事件總線機制則引入中心控制節點來集中管理事件,類似于移動通信網絡中的基站功能。本文以EventBus源碼為例,請解了Android中事件總線的一些知識點。
    8. </ol>

      開源項目

      1. AutoRobRedPackage :這是一款自動搶微信紅包的開源項目,自帶關閉窗口功能。
      2. FastAdapter :RecyclerView是Android中最常用的組件之一,使用RecyclerView的時候,必須實現Adapter中提供的相應接口。所以每次調用RecyclerView時,就需要重復實現Adapter中的這些方法。FastAdapter就是用來解決重用問題的,使用FastAdapter后,我們就只需關心item與view的部分就可以了。
      3. GifView :這是一個播放Git圖片的庫,支持播放、暫停、停止功能。
      4. </ol>

        圖書

        1. 《Gradle for Android(譯)》 :很多同學都寫過有關于Gradle的文章,但大家側重點各有不同。Gradle for Android是一本詳細介紹Gradle的圖書。該項目是《Gradle for Android》的中文翻譯,推薦大家仔細閱讀,了解Gradle的工作原理。
        2. </ol>

          工具

          1. pngquant :pngquant是一個有損的png壓縮開源庫,提供了命令行形式和源碼庫形式。通過這個庫的轉化可以顯著減少png文件大小(通常減少70%),并且保持原有透明度通道。另外,生成的圖片文件可以兼容所有現代web瀏覽器,在IE6下比24-bit PNGs也有更好的表現。
          2. </ol> </div>

            來自: http://www.infoq.com/cn/news/2016/01/Android-weekly-goole-bitmap

             本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
             轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
             本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!