編輯:關於Android編程
周星馳的電影《功夫》裡面借火雲邪神之口說出了一句至理名言:“天下武功,唯快不破”。
在移動互聯網時代,同樣如此,留給一個公司的窗口往往只有很短的時間,如何把握住這個時機,迅速開發出產品,成為至關重要的一環。相對傳統互聯網時代的PC產品,用戶對移動端產品的容忍度更低。而一款移動應用在推出的時候可能只是接近完成的狀態,這就需要通過快速的迭代開發來更新產品,不斷完善產品來留住用戶。同時,通過更新產品也能喚醒一些沉默用戶,讓一些原本下載了應用但使用次數非常少的用戶給該應用多一次機會。
所以快速迭代成為移動互聯網時代的一個重要生存法則。
上面說到,在時間窗口期內開發出產品是極端重要的,但是雖然基本功能我們實現了,但是開發出來的產品代碼運行的效率怎麼樣呢?我們的App用戶給用戶的體驗如何呢?
我們的App體驗如此之差,導致大量的用戶流失。這些迫使我們認識到性能優化是非常重要,某種程度上甚至超過了新功能的開發。
也驗證了一句話:“別人有的我們也有,而且比他們的要好要快。”
做Android開發已經3年了,期間也開發了不少App了,最開始寫App的時候,只追求迅速完成所需要的功能,後來隨著對相關知識的熟悉,再回頭看之前寫的代碼,也知道有哪些改進和優化的手段了。性能優化,一方面需要自身能力的提高,另外一方面,也需要有意識去學習優化技術,並應用於自身項目的開發中。
我們的Android App開發除了NDK之外,使用的都是Java語言,而Java語言是一種基於虛擬機JVM運行的語言,所以相比C/C++語言來說,效率是比較低的。Java需要占用大量內存來換取執行速度,而不定期的GC機制,直接導致Android界面的卡頓現象。
相比Apple的iOS,Android要面對無數不同的硬件組合,分辨率,驅動等,導致App質量參差不齊。
性能優化技術,簡而言之,就是提高我們程序的性能,讓我們的應用更快,更少使用CPU資源,更少使用內存。
性能優化是一個非常大的課題,在這裡目前准備寫8篇筆記來記錄,提綱如下:
1. 如何書寫優秀代碼?先通過一個頁面看下事情的來龍去脈,頁面如下所示: 這個頁面剛好一屏幕大小,所以沒有滾動條,因為“保存”鍵上面那個項目備注是需要用戶去填寫的,當他點擊後就會出現虛
本節引言: 上節我們寫了關於Xfermode與PorterDuff使用的第一個例子:圓角&圓形圖片ImageView的實現, 我們體會到了
絕大多數項目總都會有各種形形色色的列表界面,但其實這些界面的區別就在於列表子項的布局不同和點擊事件的響應不同而已,然而每次有個新的列表界面從適配器到Activity都需要
本文實例講述了Android編程實現canvas繪制柱狀統計圖功能。分享給大家供大家參考,具體如下:這裡實現了一個簡單的柱狀統計圖,如下: 特點:1.根據數據源