Android開發技術周報 Issue#26
教程
-
在Android設備上面,快速高效的顯示圖片是極為重要的。過去的幾年里,我們在如何高效的存儲圖像這方面遇到了很多問題。圖片太大,但是手機的 內存卻很小。每一個像素的R、G、B和alpha通道總共要占用4byte的空間。如果手機的屏幕是480*800,那么一張屏幕大小的圖片就要占用 1.5M的內存。手機的內存通常很小,特別是Android設備還要給各個應用分配內存。在某些設備上,分給非死book App的內存僅僅有16MB。一張圖片就要占據其內存的十分之一。
-
谷歌剛剛發布了2014年Android系統安全回顧報告,報告長達43頁,總結了Android系統中的新的安全特性,Google Play中應用安全狀況,該年度發現的Android系統漏洞及由于開發者安全意識不高,濫用各類接口導致的常見安卓應用安全漏洞。
-
在Android開發中,會存在這么些場景 : 你需要在稍后的某個時間點或者當滿足某個特定的條件時執行一個任務,例如當設備接通電源適配器或者連接到WIFI。幸運的是在API 21 ( Android 5.0,即Lollipop )中,google提供了一個新叫做JobScheduler API的組件來處理這樣的場景。
-
使用RxJava.Observable取代AsyncTask和AsyncTaskLoader
在網上有很多關于RxJava入門指南的帖子,其中一些是基于Android環境的。但是,我想到目前為止,很多人只是喜歡他們所看到的這些,當要 解決在他們的Android項目中出現的具體問題時,他們并不知道如何或者是為什么要使用RxJava。在這一系列的文章中,我想要探索在我工作過的一些 依賴于RxJava架構的Android項目中的模式。
-
安卓的硬件加速字體渲染最開始是由Renderscript團隊的一位同事編寫的,后來經過了多位工程師的修改和優化,其中就包括我以及我的朋友 Chet Haase。你可以很容易的找到很多關于如何用OpenGL渲染文本的教程。但是,大部分的這些文章都把重點放在游戲開發以及如何繞過一些復雜的問題上。
-
本篇博客要實現的是一個離線下載和離線閱讀的功能,這是很多閱讀類app都常見的一個功能,典型的應用就是網易新聞。什么是離線下載?其實這個概念 是比較模糊,是離線之后下載呢,還是下載之后離線,但稍微有點腦子的人都知道沒有網絡之后怎么下載呢?所以離線下載這個功能是”在有網絡的情況下,把資源 下載到本地“,離線閱讀就是”在沒有網絡或者網絡不好的時候,閱讀本地好緩存的文章資源“。
-
本篇博客給大家分享一個WebView的使用案例,實現Android調用JavaScript代碼來控制白天/夜間模式。關于WebView如何使用,官網有很好的說明,Building Web Apps in WebView,小巫這里就不多贅述。
-
Direct-load-apk基于注入和偽裝的代理機制,通過轉接現有的Activity,來實現動態創建和加載插件中的資源和類,因此可以正常使用this指針,而不像Dynamic-Load-apk那樣需要使用that指針來代替this。
-
Android熱編譯技術——運行時動態處理和生成代碼,初入殿堂!
你有沒有這樣的想法:想將編譯時不存在的類在運行時動態創建并加載。想要使一個類動態的繼承不同的父類,實現不同的接口。在不知道代碼的情況下,在類中添加字段,方法。在一個方法的前后插入自己的代碼。
-
一個真正酷炫的動效往往讓人虎軀一震,話不多說,咱們先瞅瞅效果: 這個效果我們需要考慮以下幾個問題: 1. 這是圖片還是文字; 2. 如果是圖片該如何拿到圖形的邊沿線坐標,如果是文字呢? 3. 如果拿到了邊沿線坐標,如何讓光線沿著路徑跑動; 4. 怎么處理過程的銜接; 以上四個問題似乎不是太好處理,而這幾個問題也...
-
在泰國舉行的谷歌開發者論壇上,谷歌為我們介紹了一個名叫 Glide 的圖片加載庫,作者是bumptech。這個庫被廣泛的運用在google的開源項目中,包括2014年google I/O大會上發布的官方app。它的成功讓我非常感興趣。我花了一整晚的時間把玩,決定分享一些自己的經驗。在開始之前我想說,Glide和 Picasso有90%的相似度,準確的說,就是Picasso的克隆版本。但是在細節上還是有不少區別的。
-
做android framework方面的工作將近三年的時間了,現在公司讓做一下android apk安全方面的研究,于是最近就在網上找大量的資料來學習。現在將最近學習成果做一下整理總結。學習的這些成果我會做成一個系列慢慢寫出來與大家分享, 共同進步。這篇主要講apk的加殼技術,廢話不多說了直接進入正題。
代碼&開源庫
-
一個可以幫助你高效的創建通知的Library。
-
自定義心形進度條。
-
效果很贊的弧形布局。
-
Android 一些重要知識點解析整理.
-
Material Design風格的Floation Action Button,并且支持Floating Action Menu。
-
一個 漂亮的所見即所得的富文本編輯控件。
-
Direct - load - apk 是一個強大的插件化框架, 通過使用它, 你可以實現看似不可能實現的功能 ----- 直接加載一個普通apk!
優勢:
- Direct - load - apk 能夠加載插件的全部 資源.
- 支持 插件間 Activity跳轉.
- 不像 "dynamic load-apk" 這個項目, "Direct-load-apk" 不需要對插件有任何約束,也不需要在插件中引入jar和繼承自定義Activity,可以直接使用this指針。
-
字體或者圖片可以逐漸染色和逐漸褪色的動畫效果。
工具
-
Andorid Studio 1.2 更新 Android Studio 基于 IntelliJ 14.1.1,包括了 IntelliJ 14 和 14.1 的所有特性,主要是:
- 新調試器
- distraction free mode
- 同步 tag 編輯
- 編輯器優化
- 新增和改進重構操作
- 注解推斷,草稿文件,改進 Gradle 支持
- 詳情請看 https://www.jetbrains.com/idea/whatsnew/
-
一個在線的Apk方法統計工具。
視頻
-
Google日前聯合Udacity推出了免費的Android性能優化進階課程,內容主要涉及Android性能問題,如何使用AS各種工具分析和解決性能問題,本著方便國內小伙伴學習的目的,課程中文介紹:http://chenqichao.me/2015/04/06/115-Android-Performance/
-
Android Material Design Tutorial
一步步帶你學習Android Material Design.
新聞
-
Google 讓 Chrome OS 運行 Android app 的想法早已有之,并在去年的 9 月份付諸行動,推出了 App Runtime for Chrome,簡稱 ARC,是一個運行在 Chrome OS 上的 Android 虛擬機,它本身是一個 Chrome Web 商店的應用程序,名為 ARC Welder。