編輯:關於Android編程
OpenJDK將對Android開發產生怎樣的影響?
在2015年年底,InfoQ曾提到Google已經決定在Android中使用OpenJDK,以取代基於Harmony實現的Java庫。盡管這條消息在宣布時恰逢聖誕期間,但Google的這一決定還是在互聯網上引起了很大的反響,我們將在本文中對於這些觀點進行一次總結。
ReactNative For Android 項目實戰總結
Android Qzone 6.1版本在情侶空間涉水React Native,以動態插件方式將情侶空間進行React Natived的改造。在情侶空間基礎上,Android Qzone 6.2版本以融合的方式將話題圈進行React Native改造。本文主要講述話題圈的開發改造流程,相關數據對比及性能優化,本次改造ReactNative基於15Release。
淺析 Android 的窗口
在開發過程中,我們經常會遇到,各種跟窗口相關的類,或者方法。但是,在 Android 的框架設計中,到底什麼是窗口?窗口跟 Android Framework 中的 Window 類又是什麼關系?以手機QQ 的主界面為例,如下圖所示,上面的狀態欄是一個窗口,手機QQ 的主界面自然是一個窗口,而彈出的 PopupWindow 也是一個窗口,我們經常使用的 Toast 也是一個窗口。
Android 中有限狀態機的設計和應用
主要內容有:有限狀態機思想溯源,有限狀態機的基本概念和編程思想,Android StateMachine 源代碼解析,Android StateMachine應用實例
Android相機開發那些坑
最近我負責開發了一個跟Android相機有關的需求,新功能允許用戶使用手機攝像頭,快速拍攝特定尺寸(1:1或3:4)的照片,並支持在拍攝出的照片上做貼紙相關的操作。由於之前沒有接觸過Android相機開發,所以在整個開發過程中踩了不少坑,費了不少時間和精力。這篇文章總結了Android相機開發的相關知識、流程,以及容易遇到的坑,希望能幫助今後可能會接觸Android相機開發的朋友快速上手,節省時間,少走彎路。
生還是死?Android 進程優先級詳解
讓我們面對現實:移動設備上沒有無限的內存、無限的電池或者其它無限的資源。這對應用而言意味著你應該把進程死亡作為應用生命周期的一個自然過程對待。最重要的是確保殺死進程及內存回收不會對用戶造成負面影響。事實上,Android 中的多數進程架構都是為了確保特定的順序而特別設計的,並按重要性層次遵循一組模式。
優化 Android 線程和後台任務開發
在 Android 開發中,你不應該做任何阻礙主線程的事情。但這究竟意味著什麼呢?在這次海灣 Android 開發者大會講座中,Ari Lacenski 認為對於長時間運行或潛在的復雜任務要特別小心。這一次演講,我們將根據一個真實場景應用的需求,討論 AsyncTask, Activity, 和 Service,逐步建立一個更易於維護的解決方案。
Android 6.0: 動態權限管理的解決方案
Android 6.0版本(Api 23)推出了很多新的特性, 大幅提升了用戶體驗, 同時也為程序員帶來新的負擔. 動態權限管理就是這樣, 一方面讓用戶更加容易的控制自己的隱私, 一方面需要重新適配應用權限. 時代總是不斷發展, 程序總是以人為本, 讓我們為應用添加動態權限管理吧! 這裡提供了一個非常不錯的解決方案.
如何自定義Android注解?
目前基於注解的開源項目越來越熱,Dagger, ButterKnife, Retrofit...很多熱門的開源項目都用到了注解,如何才能像GitHub大牛那樣優雅得使用注解呢?本文作者就給你一步步地演示,文末還有完整代碼喲。
Andriod 破解之道(一)
在Root前提下,我們可以使用Hooker方式綁定so庫,通過逆向方式篡改數值,從而達到所謂破解目的。然而,目前無論是軟件加固方式,或是數據處理能力後台化,還是客戶端數據真實性驗證,都有了一定積累和發展,讓此“懶技術”不再是破解修改的萬金油。再者,閱讀匯編指令,函數指針替換,壓棧出棧等技術需要一定技術沉澱,不利於開發同學上手。
Android 破解之道 (二)
在這篇文章,我們來討論一下基於Android系統多緩存文件方式截屏的一些事。《 破解之道(一)》開篇介紹了基於Root環境截屏的技術,使用這種方式獲取屏幕數據是快捷而便捷的。然而,大家先不要開心太早,此中卻有兩個系統級問題,很少有文章涉獵討論,在此向大家詳細解說一下。
動態Android編程
本文章有些例子需要對Java或Android有一定編程基礎。與Python相比,Java是一門比較嚴肅的語言。作為一個先學Python的程序員,做起Android難免會覺得不舒服,有些死板,非常懷念decorator等方便的方法。為了實現一個簡單的邏輯,你可能需要寫很多額外的代碼。
Bitmap.recycle引發的血案
在Android中,Bitmap的存儲分為兩部分,一部分是Bitmap的數據,一部分是Bitmap的引用。在Android2.3時代,Bitmap的引用是放在堆中的,而Bitmap的數據部分是放在棧中的,需要用戶調用recycle方法手動進行內存回收,而在Android2.3之後,整個Bitmap,包括數據和引用,都放在了堆中,這樣,整個Bitmap的回收就全部交給GC了,這個recycle方法就再也不需要使用了。
如何學習 Android Animation?
動畫可以做成什麼樣子(第1類)下述幾篇博文通過如下3個方面向開發者展示『動畫』:給出一些指導原則,闡述為什麼要如此做動畫,或者這樣的動畫有什麼好處;給出 GIF 動圖,直觀地展示動畫是什麼;給出實現這種動畫的代碼片段(關鍵類、方法、資源文件)或者實現思路;這非常棒,可以幫助我們很快建立動畫的印象,了解某個名詞代表的動畫是什麼樣子,應該怎麼去實現。而且代碼片段很多是從開源項目中摘錄的,意味著我們可以調試這些動畫。
淺談 Android 開發文化
質量從用戶反饋很清涼然後我們就只能看 CPU 原來的想法是但是事實上不是這些但是我們可以把數據收集上來,從長遠角度來說,我們呢很簡單,怎樣擺脫這種要辭職的想法,那我能去哪,要干啥,任何團隊都有一定的問題,如果他走,我覺得我還可以接受缺一個告警什麼叫我們的團隊當時是Android 開發現在陷入了困境(快陷入七年了…)。
如何對 Android 庫進行依賴管理?
Android 開發人員為項目選擇庫的時候,考慮的因素不僅僅是功能、可用性、性能、文檔豐富度和技術支持情況。他們還關心庫的大小,以及要添加的方法數量。因為項目越大,依賴也越多,要把應用的方法數量控制在65k 以下,開發人員感覺很有壓力。另外,對於非發行版項目而言,Proguard 使用起來效率太低,而且開發人員視 multidex 如瘟疫,避之唯恐不及。因此,編寫庫的作者必須特別注意項目的大小。
如何量化Android應用的“卡”?—流暢度原理&定義篇
在手機App競爭越來越激烈的今天,Android App的各項性能,如CPU、內存消耗等都有了客觀的衡量指標。但對於App使用過程是否流暢,一直沒有一個可靠的指標將用戶的客觀感受和數據一一對應。雖然之前有FPS(每秒幀數)作為游戲或視頻類App的性能指標,但對於那些界面更新不多的App來說,仍不是一個合適的衡量數據。
基於Fragment的Android前台服務框架
從Android 3.0開始,Google引入了全新的Fragment UI體系,重新诠釋了可復用可延展的Android UI設計理念。Android Support Library更是為任何面向低版本Android的應用開發者提供了完整的Fragment後向兼容方案(backport)。所以,如果開發一款新的Android應用,使用Fragment已無需有任何顧忌。盡早擁抱這一強大的機制設計,可以幫你省下可觀的開發和維護工作量。
DilatingDotsProgressBar
圓點交替擴大效果的進度條
MaterialIntroView
一款可用於給 Android 應用添加用戶引導視圖的庫
AppCompat-Extension-Library
在 AppCompat Design Library 的基礎上提供了額外的控件:AccountHeaderView、FloatingActionMenu、CircleImageView、FlexibleToolbarLayout, Delightful Detail Drawables 和 TypefaceCompat
Freezer
一個簡單的 ORM 庫
ProgressFloatingActionButton
帶進度條的 FloatingActionButton
CircleDemo
仿微信實現的朋友圈
AndroidLintPlus
定制 Lint 規則
AndroidProcess
不要拿來干壞事
sliding-deck
效果很贊
pngquant
圖片壓縮命令行工具,使用教程
dexcount-gradle-plugin
統計方法個數的插件
GoogleDevelopersColorScheme
適用於 IDEA 和 Android Studio 的代碼配色方案
Android應用程序UI硬件加速渲染技術
羅升陽大神的分享,不容錯過
遠離“不聰明且勤奮的人”
看看你周圍有這樣的人沒
和不靠譜的PM、UI打交道時一種什麼樣的體驗?
是段子還是現實
在配置好NDK開發之後就可以使用C/C++開發android了。下面以一個HelloWorld項目來說明1.新建一個Android工程新建一個HelloWorld工程代碼
最近由於項目需要,研究了一些統計圖的做法,開始時,看了很多博文,大部分都是引用第三方的庫,雖然簡單,易上手,但是功能太死板,有很多要求都是不能滿足的,所以經過研究,自己使
本文參考了manymore13文章邏輯,在此基礎上做了改進:1.可定義最大行數2.定義每行顯示幾張3.當圖片數量過多時設置更多圖片由於個人較懶,去掉了xml配置屬性,所有
1. Why,為什麼要加載縮略圖? 有的時候不需要展示原圖,只需展示圖片的縮略圖,可以節省內存。比如:網易新聞中的圖片浏覽,左邊展示的小獅子圖片就是一個縮略