Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android優化——UI優化(三)

Android優化——UI優化(三)

編輯:關於Android編程

使用ViewStub延遲加載


1.ViewStub延遲加載

ViewStub是一個不可見的,大小為0的View,最佳用途就是實現View的延遲加載,在需要的時候再加載View,可Java中常見的性能優化方法延遲加載一樣。
當調用ViewStub的setVisibility函數設置為可見或則調用inflate初始化該View的時候,ViewStub引用的資源開始初始化,然後引用的資源替代ViewStub自己的位置填充在ViewStub的位置。因此在沒有調用setVisibility(int)或則inflate()函數之前ViewStub一種存在組件樹層級結構中,但是由於ViewStub非常輕量級,這對性能影響非常小。 可以通過ViewStub的inflatedId屬性來重新定義引用的layout id。 例如:

xml
java
//獲取到viewstub
final ViewStub stub = (ViewStub) findViewById(R.id.stub);
//測試用inflate()填充布局
Handler handler = new Handler() {
    @Override
    public void handleMessage(Message msg) {
        View view = stub.inflate();
    }
};
handler.sendEmptyMessageDelayed(1, 7000);

我這裡間隔了一段時間去調用了stub.inflate();方法,加載布局,我們這裡就不用再去findViewById去加載view了

這裡寫圖片描述

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved