有一個包含多個類別的設置屏幕,每個類別都有5到6個自己的設置。試想一下Android OS的設置屏幕。對於簡單的數據庫操作有很多AsyncTasks是不好的?
現在,爲了避免在底部設置按鈕,並試圖在用戶更改任何設置時立即實施應用更改(從而獲得應用程序的速度並獲得更好的用戶體驗),我想有幾十個AsyncTask
類,每個實現一個簡單的事情。
例如,有一個設置屏幕,包含4個要設置的內容。用戶更改了設置編號1,我立即在後臺爲該特定設置調用AsyncTask
。對於用戶進行的每次更改,都是這樣。
這樣做有多聰明?這是否會超載AsyncTask
想法,甚至會導致過多的AsyncTasks
被調用(因爲我讀了可以調用的限制,可以調用5,或者其他)?
當用戶離開特定設置屏幕時,用1 AsyncTask
所做的所有更改調用1更好的設計嗎?
注:我不是在這裏問如何實施AsyncTask
。我的問題直接關係到應用的最佳設計和最佳速度,以及最好的用戶體驗。
您的設置是否全部保存到某個服務器?當然,其中很多都存儲在本地。無論哪種方式,您都不需要數十個AsyncTask實現。只需傳遞您設置的AsyncTask值,並創建一個通用的AsyncTask來處理它。 – ashishduh
另外,如果您要將更改保存在單獨的線程中,如果用戶進行了更改,然後快速點擊相同的設置但未更新呢?除非在AsyncTask正在運行時您有類似ProgressDialog的東西,否則您可能會遇到併發問題。在這種情況下,您將永遠不會運行多個AsyncTask。 – ashishduh