手機開發調試篇

1 解決問題模板

[Executive Summary]
[Next Action]
[Detail Analysis]

2 修改SettingsProvider數據庫命令,SettingsProvider分3種system,global,secure. Settings的數據庫xml放置在/data/system/users/0或者/data/data/com.android.settings目錄

獲得值
settings get system namespace key

settings get global namespace key

settings get secure namespace key

設置值

settings put system namespace key

settings put global namespace key

settings put secure namespace key

3 SystemTrace的Alert警告分析以及打開SystremTrace抓取.trace文件的方法

chrome://tracing/

Scheduling delay
渲染一幀的工作被推遲了幾個毫秒,從而導致了不合格。確保UI線程上的代碼不會被其他線程上完成的工作阻塞,並且後臺線程(例如,網絡或位圖加載)在android.os.Process#THREAD_PRIORITY_BACKGROUND中運行或更低,因此它們不太可能中斷UI線程。

Expensive measure/layout pass
測量/佈局花費了很長時間,導致掉幀,要避免在動畫過程中觸發重新佈局。

Long View#draw()
記錄無效的繪圖命令花費了很長時間,在View或Drawable自定義視圖時,要避免做耗時操作,尤其是Bitmap的分配和繪製。

Expensive Bitmap uploads
修改或新創建Bitmap視圖要傳送給GPU,如果像素總數很大,這個操作會很耗時。因此在每一幀中要儘量減少Bitmap變更的次數。

Inefficient View alpha usage
將alpha設置爲半透明值(0<alpha<1)會很耗性能,尤其是對大視圖。所以最好短暫地使用alpha屬性。

4 調試LOG
ActivityManager: START u0 可以過濾到Activity的顯示

5權限分組
日曆 READ_CALENDAR
日曆 WRITE_CALENDAR
相機 CAMERA
聯繫人 READ_CONTACTS
聯繫人 WRITE_CONTACTS
聯繫人 GET_ACCOUNTS
位置 ACCESS_FINE_LOCATION
位置 ACCESS_COARSE_LOCATION
麥克風 RECORD_AUDIO
電話 READ_PHONE_STATE
電話 CALL_PHONE
電話 READ_CALL_LOG
電話 WRITE_CALL_LOG
電話 ADD_VOICEMAIL
電話 USE_SIP
電話 PROCESS_OUTGOING_CALLS
傳感器 BODY_SENSORS
短信 SEND_SMS
短信 RECEIVE_SMS
短信 READ_SMS
短信 RECEIVE_WAP_PUSH
短信 RECEIVE_MMS
存儲 READ_EXTERNAL_STORAGE
存儲 WRITE_EXTERNAL_STORAGE

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章