2012-09-21 54 views
2

我創建了一個按設計工作的android應用程序。但是,onCreate()使用動態(而不是xml)來創建我的佈局的80%,它由按鈕組成。建立整個佈局需要大約3-4秒,這太慢了。有沒有任何建議來加速這個過程?加速Android動態視圖創建

事情我想: 1.使用更少的視圖對象,但一直沒有好轉的速度和使用ListView和linearview有非常小的收益 2.我試圖將部分我來的onResume(),沒有收穫 3。使用序列化器保持我的觀點在共享首選項不起作用

有沒有什麼方法來加速動態視圖創建?

+0

向我們顯示您的代碼。 –

+0

請提供您的onCreate()代碼。 – yrajabi

+0

你有沒有比較使用xml的動態通脹經文的速度?也許還有別的東西讓你放慢腳步。另外,我在ICS手機上注意到,與第一次發佈(通常是一兩秒)相比,在與薑餅手機進行比較時,您的佈局需要更長的時間。 – Chris

回答

1

你有沒有想過使用一個列表視圖,並從xml的自定義視圖膨脹到轉換視圖的回收?

我不知道這是否會在你的情況下工作,因爲我不知道你的代碼做什麼,但是這似乎是OT使用適配器和某種List元素的

+0

我試過這個。到目前爲止,性能比以前更好:)回收視圖比創建整個事物更有用。 –

0

嘗試把適當的位置來自Activity的runOnUiThread()方法中佈局的所有代碼。你可以在onCrete()或onResume()中使用它(當Activity來到前面時,onResume總是被調用)。試試這樣:

runOnUiThread(new Runnable() {   
     @Override 
     public void run() { 
      // Do stuff from layout 
     } 
    }); 

這樣,代碼將在一個線程中運行,它會釋放活動,以顯示自己。

+0

感謝您的想法。 Ui的繪製只需要很長時間。我打算打破UiThread,所以它分兩部分來提供速度幻覺。 –