我做了一项服务,看着正在运行的服务,我发现它需要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