我創建了一個按設計工作的android應用程序。但是,onCreate()使用動態(而不是xml)來創建我的佈局的80%,它由按鈕組成。建立整個佈局需要大約3-4秒,這太慢了。有沒有任何建議來加速這個過程?加速Android動態視圖創建
事情我想: 1.使用更少的視圖對象,但一直沒有好轉的速度和使用ListView和linearview有非常小的收益 2.我試圖將部分我來的onResume(),沒有收穫 3。使用序列化器保持我的觀點在共享首選項不起作用
有沒有什麼方法來加速動態視圖創建?
我創建了一個按設計工作的android應用程序。但是,onCreate()使用動態(而不是xml)來創建我的佈局的80%,它由按鈕組成。建立整個佈局需要大約3-4秒,這太慢了。有沒有任何建議來加速這個過程?加速Android動態視圖創建
事情我想: 1.使用更少的視圖對象,但一直沒有好轉的速度和使用ListView和linearview有非常小的收益 2.我試圖將部分我來的onResume(),沒有收穫 3。使用序列化器保持我的觀點在共享首選項不起作用
有沒有什麼方法來加速動態視圖創建?
你有沒有想過使用一個列表視圖,並從xml的自定義視圖膨脹到轉換視圖的回收?
我不知道這是否會在你的情況下工作,因爲我不知道你的代碼做什麼,但是這似乎是OT使用適配器和某種List元素的
我試過這個。到目前爲止,性能比以前更好:)回收視圖比創建整個事物更有用。 –
嘗試把適當的位置來自Activity的runOnUiThread()方法中佈局的所有代碼。你可以在onCrete()或onResume()中使用它(當Activity來到前面時,onResume總是被調用)。試試這樣:
runOnUiThread(new Runnable() {
@Override
public void run() {
// Do stuff from layout
}
});
這樣,代碼將在一個線程中運行,它會釋放活動,以顯示自己。
感謝您的想法。 Ui的繪製只需要很長時間。我打算打破UiThread,所以它分兩部分來提供速度幻覺。 –
向我們顯示您的代碼。 –
請提供您的onCreate()代碼。 – yrajabi
你有沒有比較使用xml的動態通脹經文的速度?也許還有別的東西讓你放慢腳步。另外,我在ICS手機上注意到,與第一次發佈(通常是一兩秒)相比,在與薑餅手機進行比較時,您的佈局需要更長的時間。 – Chris