我不知道,但我的應用程序有時完全停滯(沒有響應觸摸屏幕)我認爲我遵循線程的所有規則,但我的應用程序顯然是放緩下Sprint EVO!我從來沒有像我自己一樣使用一個應用程序。我沒有得到ANR對話框,但我想我應該得到一個。我不知道如何讓這個應用程序像我曾經使用的其他應用程序一樣運行 - 不會凍結。是否有一個HttpClient
並不是一個好主意,併爲所有想要使用它的活動保留一個靜態引用?我以前每次都會創建一個新的,並且認爲將它改爲一個可以加快速度。我的AsyncTasks
都沒有結束。如果我首次進入活動A - > B - > C - > D,它將會平穩。我可以按回去,但當我回到A時,它會完全凍結,不會對任何事情做出反應。那個時候我拍了截圖。我真的不知道我做錯了什麼。我應該手動殺掉Activity.onPause()
上的AsyncTasks嗎?大量無休止的異步任務引起的超級慢應用程序
0
A
回答
0
我不確定您的活動是否凍結......它讓我覺得您的AsyncTask的onPreExecute
或onPostExecute()
陷入無限循環,但是誰知道。
但是,我知道如果您要在多個線程之間共享您的HttpClient
,您應該使用ThreadSafeClientConnManager
。
// Create the client. We can cache and reuse this client because we're using a
// ThreadSafeClientConnManager, which will create a pool of connections for us
// to use across multiple threads.
HttpParams params = new BasicHttpParams();
HttpConnectionParams.setSoTimeout(params, TIMEOUT);
HttpConnectionParams.setConnectionTimeout(params, TIMEOUT);
SchemeRegistry schemeRegistry = new SchemeRegistry();
schemeRegistry.register(
new Scheme("http", PlainSocketFactory.getSocketFactory(), 80));
ClientConnectionManager cm = new ThreadSafeClientConnManager(params, schemeRegistry);
httpClient = new DefaultHttpClient(cm, params);
相關問題
- 1. 如何在c#metro應用程序中停止異步任務
- 2. 異步任務超時?
- 3. 異步任務超時
- 4. 終止異步任務
- 5. 大批量插入引起事務中止或超時
- 6. 異步任務崩潰我的應用程序
- 7. 異步執行Web應用程序的任務
- 8. 異步任務VS異步無效
- 9. 的Android異步任務放慢我的UI線程
- 10. 異步任務從api的異步任務不運行異步
- 11. android異步任務很慢嗎?
- 12. Android異步任務不起作用
- 13. 異步調用Web服務仍掛起應用程序
- 14. Tomcat - 異步HTTP調用超級緩慢與碼頭
- 15. GitHub同步不起作用。 git push超級慢
- 16. 設計模式:跨應用程序層管理異步任務
- 17. 當應用程序在後臺時異步任務崩潰
- 18. 異步CTP - 任務超時問題
- 19. 異步延遲超時任務
- 20. 任務異步c#編程
- 21. 應用程序超級牆
- 22. 異步任務
- 23. 異步任務
- 24. 無法調用異步任務
- 25. 異步任務vs任務
- 26. 等待從UI線程退出應用程序的異步任務
- 27. 停止異步任務後60秒
- 28. 我的應用程序使用時,我想,即使使用異步任務
- 29. 的Node.js:異步任務順序執行
- 30. Task.WaitAll與異步掛起/等待任務
我一直在使用ThreadSafeClientConnManager,但是我沒有設置超時。處理超時操作的最佳方式是什麼? – 2010-08-11 18:51:06
我會建議設置這些超時參數。這樣,如果你點擊超時,那麼HttpClient將返回一個408錯誤代碼(客戶端超時代碼)的正確'HttpResponse'。 – 2010-08-11 19:03:23
我試過了,但是之前它引起了更多的問題,雖然欣賞了努力,並且我相信它在某些情況下很有用。 – 2010-08-13 17:32:10