Android 應用啟動速度優化
開發Android應用中,隨著功能越來越多,啟動速度越來越慢。有沒有辦法讓自己應用啟動速度快一點呢?
方法是人想出來的。先說說我的實現方法:
1 將onCreate 中初始化的內容,移動到線程中做初始化,加載等
2 初始化完成之后,通過Handler發送消息,
3 Hander 中收到消息后,再初始化完整界面。
通過這樣的思路,能讓界面快速顯示,而不是顯示黑屏。
代碼原型:
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //設置layout布居 // 使用線程異步加載數據,不阻塞界面。 new Thread(){ @Override public void run() { // TODO Auto-generated method stub super.run(); initData(); } }.start(); } private final static int MSG_INIT_VIEW = 0xA00; private final Handler handler = new Handler() { @Override public void dispatchMessage(Message msg) { switch (msg.what) { case MSG_INIT_VIEW: initView(); break; default: super.dispatchMessage(msg); } } }; private void initData(){ try { Thread.sleep(5000);// 模擬加載數據需要 5秒 } catch (InterruptedException e) { // TODO Auto-generated catch block e.printStackTrace(); } //數據加載完成,可以更新界面了 handler.sendEmptyMessage(MSG_INIT_VIEW); } private void initView(){ //TODO 刷新界面 } }
本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!