2014-07-16 30 views
0

我有一個由遊標適配器支持的巨大ListView,它擁有成百上千的if條件,其中包含單個標題的bindView中的多行,在此處再現它將超出允許的字符數限制。我應該在描述場景中使用異步任務嗎?

我在一個數據庫中有一定的記錄,通過這個數據庫填充這個列表,並且我有一個不同的外部數據庫,我已經準備好連接了,我想從ListView的一個按鈕單擊時從這個二級數據庫獲取信息,應該我在這裏使用異步任務或任何類型的處理程序?

該信息非常輕量,有時候只有一串約20個字符。到目前爲止,我還沒有使用過,但我甚至沒有感覺到性能滯後 - 這裏的最佳做法是什麼?

回答

1

通常,AsyncTask應該用於與其調用者有關的東西。換句話說,如果它可能超過它的調用者,它應該可能是服務或其他東西。在你的情況下,是的,一個AsyncTask可以正常工作。

但是,如果你幾乎可以保證第二個數據庫調用將在幾毫秒內返回,那麼我不會擔心它。您更大的性能瓶頸(甚至在一個單獨的線程)大概是:

十萬,如果數以百計的其他條件

[用鼠標適配器]這使得我的維護者去都瘋了眼睛。

+2

有一張紙條給讀取像維護者這個'// \t \t \t \t //親愛的維護者: \t \t \t \t // \t \t \t \t //一旦你完成試圖「優化「這個程序, \t \t \t \t //並且已經意識到了什麼可怕的錯誤,這是, \t \t \t \t //請遞增以下計數器作爲警告 \t \t \t \t //到下一個人: \t \t \t \t // \t \t \t \t // total_hours_wasted_here = 0; \t \t \t \t //' 我沒有太多的選項,因爲列表非常細緻,每一行都不同。 – User3

相關問題