原创 如何debug一個問題的方法經驗之談

最近開發一個對於公司來說具有重要戰略意義的app項目,我底下帶了Android, iOS, 前端開發,後臺開發的技術團隊。項目進度很緊,人手不夠,不斷的小腳步迭代,快速前進。 衆所周知,對於軟件行業,只要是開發工作,永遠都避免不了

原创 View滑動動畫的選擇及其left, marginLeft, translationX參數的總結

最近由於項目需要,做一個比較複雜的3D動畫,核心就是根據手指的滑動來翻轉3D效果。因此,又回顧了一下view滑動效果,而且根據不同的方式實現了一下,發現其中很多參數容易搞混,比如改變view的left,marginLeft,tra

原创 android性能優化(三)之Webview優化

閱讀本文大概需要 4 分鐘。   這篇把Webview的優化單獨拎出來,是因爲Webview與其他普通view來說有自身獨特的特點。   在做一些native+H5應用開發時,Webview的性能問題一直是關注的重點。所謂Webview

原创 eCharts畫圖斷點連線的解決方案

由於公司產品的需要,最近幾個月都在使用eCharts,功能還是很強大的,基本能夠實現你想要的任何效果。但是在使用的過程中,碰到一個eCharts本身不支持的功能,就是eCharts只畫有真實數據的點,沒有真實數據的用”-“表示的點

原创 深入瞭解ListView工作原理(二) -- 之convertView的ViewType篇

現在繼續探討《深入瞭解ListView工作原理(一) – 之viewHolder優化篇》 中的第二個問題,這個問題我也有過類似困擾,當我有多種佈局給給不同的item的時候,adapter裏傳給getView裏的convertvie

原创 Android性能優化

1. 在LinearLayout和RelativeLayout均能使用的情況下,並且嵌套層級相同(比如都是垂直往下的佈局),優先選擇LinearLayout,因爲其計算速度更快。 2. 當用LinearLayout時需要的的嵌套層級比Re

原创 startService, bindService區別和總結

service有2種啓動方式,startService和bindService。知識點包括以下幾個方面(這裏只說一些網上沒有的): 一. 生命週期 (一) startService生命週期 1. onCreate() –> o

原创 深入瞭解ListView工作原理(一) -- 之viewHolder優化篇

看到題目,大家可能不禁要問,在網上一搜滿大街的是講ListView工作原理的,還再寫一篇這個幹嗎?不急,沒有一點新意,我是絕對不會寫重複的東西,若非精品,分享也沒有意義。所以,在這裏保證,只要耐心看完,一定有乾貨,並且讓你更加清晰

原创 android性能優化(二)之卡頓優化

閱讀本文大概需要 5 分鐘。     相對於其他類型的性能指標,卡頓是能直接讓用戶產生視覺反饋的現象,比如App反應滯後於用戶的操作,在嚴重的情況下會出現ANR。關乎用戶體驗的大事,是很容易遭到用戶吐槽的。因此,開發人員平時寫代碼時必須

原创 android性能優化(四)之啓動優化

    一. 前言   當用戶在手機桌面上點擊一個從未打開過的App時(也就是冷啓動),到進入第一個頁面顯示這段時間,默認情況下您的App會首先出現一個白色/黑色屏,過一段時間纔是進入第一個Activity顯示其具體佈局內容。   對於

原创 android性能優化(一)之UI渲染優化

閱讀本文大概需要 2.6 分鐘。     在衆多高頻面試題中,Android性能優化幾乎可以說是必問的考題。   而此題一出,一場惡戰已然拉開序幕,因爲此話題牽扯麪非常廣,絕非三言兩語就能夠聊完。因此,非常有必要對性能優化做一下系統性的

原创 一切從android的handler說起(五)之觸摸事件模型

閱讀本文大概需要 5 分鐘。     在弄清楚了handler消息機制原理後,小張顯得異常高興,感覺這塊兒終於像一碗清水似的看到底了。   我無意間說了一句:別高興得太早,你只清楚了一半! 小張聽了有點發懵:一半?啥意思,不都非常清晰了

原创 一切從android的handler說起(七)之內存泄露

閱讀本文大概需要 7 分鐘。     作爲一個客戶端,UI無疑是非常重要的,因此主線程承載了非常多的任務,例如生命週期,View操作,包括Toast,View繪製,動畫,等等,而這些的實現,都依賴於Android的消息機制模型。   可

原创 一切從android的handler說起(六)之四大組件生命週期起源

閱讀本文大概需要 4 分鐘。     上一篇,我們瞭解到Android裏觸摸事件是如何一步一步轉入UI線程的message queue裏被執行的,這種事件是由外部事件觸發的。   我接着對小張說:其實Android裏還有一種UI que

原创 一切從android的handler說起(一)之message

“ 閱讀本文大概需要3.2分鐘。”                                                       01 工作十餘年,作爲android面試官面了都不下百場,handler一直都是我的經典面試