我做了一項服務,看着正在運行的服務,我發現它需要15MB的內存! 作爲一個整體簡單的服務,它似乎真的很奇怪,所以我想知道在哪裏看,爲了發現爲什麼這麼多的記憶被採取(請注意,我談論的只是服務,我確保關閉活動)服務內存使用情況取決於什麼?
服務的任務是定期下載rss提要並更新sqllite db,如果有新文章存在。由於互聯網連接是必需的,服務也利用網絡監聽器。 這些屬性:
private Timer timer;
private MyDbHelper db;
private NetworkChangesReceiver networkListener; //a broadcast receiver for network state
private NotificationManager notifyManager;
private final NewsServiceB binder = new NewsServiceB();
private SharedPreferences prefs;
這是粘合劑類(在主要活動中我有一個「立即檢查」按鈕,所以我需要一個可綁定服務):
class NewsServiceB extends Binder{
public void downloadRss() throws IOException{
...
}
}
這是一個超級用戶問題。 –
不同意。如果至少提供了服務的代碼,那將是一個編程問題。一些常見的主題,如內存泄漏,可以用代碼討論...... – WarrenFaith
添加了一些代碼片段。 – user1610075