編輯:關於Android編程
應用程序的啟動時間也是衡量應用性能好壞的重要指標之一,所以我們來看一下如何獲取一個程序啟動所需的時間。
獲取程序啟動的時間有幾種方法,詳情見下文分析:
方法一:通過log獲取。
思路:通過記錄開始時間與結束時間,計算時間差來獲取啟動時間。
在onCreate()方法最後一行加入log.e("TAG",""finish),通過查看logcat中的log輸出來計算程序啟動時間。
此種方法需要有源代碼,並且比較原始,不推薦。
方法二:通過ActivityManager輪訓來實現獲取啟動時間。
思路:通過輪訓未出現時間與出現時間,計算時間差來獲取啟動時間。
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ActivityManager am = (ActivityManager) getSystemService(this.ACTIVITY_SERVICE); Listappinfo = am.getRunningAppProcesses(); for (RunningAppProcessInfo runningAppProcessInfo : appinfo) { if (runningAppProcessInfo.processName.equals("yourpakagename")) { Log.e("TAG", System.currentTimeMillis() + ""); } } }
方法三:通過外部調起應用(shell am)的方法來獲取啟動時間。
思路:通過Android shell 命令來調起應用獲取啟動時間。
adb shell am start -W -n yourpakagename/MainActivity此法獲取的啟動時間非常精准,可精確到毫秒。
綜上三種方法,方法一比較原始但是操作簡單,適用於初學者用於要求不高的黑盒測試;方法二技術要求較高,適合於在手機上開發的應用對其他應用來檢測啟動時間;方法三適用於批量查看應用啟動時間,缺點在於必須獲取所有應用的LanuchActivity。
.xml代碼如下: .java程序如下: package org.lxh.demo; import java.io.Byte
說到handler大家都很熟悉,自己也用了很久,再此總結一下 從handler的源碼角度看看handler是如何執行的。涉及到的內容:Loop Message Messa
MainActivity.java 主頁面activity_main.xml 主頁面布局zhuce_Activity.java 注冊頁面zhuce_layout.xml
通過之前的詳細分析,我們知道:在measure中測量了View的大小,在layout階段確定了View的位置。 完成這兩步之後就進入到了我們相對熟悉的draw階段,在該