[英]Android handling many HTTP requests
我正在構建一個需要輪詢網絡服務器的應用程序。 現在我創建了一個請求服務器的遞歸方法,當返回響應時,它會重新開始,我可能會稍后進入休眠狀態。
現在因為我需要這個密集的請求輪詢。 我想優化實際代碼,盡可能少地為每個請求工作。
我想我可以創建一個HttpGet(請求)和DefaultHttpClient onces,並且只是一遍又一遍地重用這些實例。 請參見http://pastebin.com/qa7k7uEY
問題是我在收到20個請求后收到OutOfMemory錯誤。
請參閱此處的錯誤日志http://pastebin.com/58Dhh7L4
有沒有更好的方法來處理這么多的請求?
最好在問題本身中發布您的代碼。
話雖如此,問題是你的所有請求都不能被垃圾收集,因為它們都沒有超出范圍; 你不斷地建立調用堆棧而不退出poll
方法。
您應該使用某種延遲機制,允許您在仍安排一些工作時退出方法。 這樣的事情應該足夠了:
new Handler().post(new Runnable() {
@Override
public void run() {
poll();
}
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.