我创建了一个服务,查看正在运行的服务,我发现它需要 15MB 内存!作为一个整体简单的服务,它对我来说似乎真的很奇怪,所以我想知道在哪里看,以便发现为什么要占用这么多内存(请注意,我只是在谈论服务,我确保关闭活动)
服务的任务是定期下载 rss 提要并在出现新文章时更新 sqllite 数据库。由于需要互联网连接,因此服务也使用了网络侦听器。这些是属性:
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{
...
}
}