服务内存使用取决于什么?

时间:2012-09-06 17:06:35

标签: android

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

这是binder类(在主要活动中我有一个“立即检查”按钮,所以我需要一个可绑定的服务):

class NewsServiceB extends Binder{
public void downloadRss() throws IOException{
   ... 
    }
 }

1 个答案:

答案 0 :(得分:2)

您需要的是一个内存分析工具,可以显示占用内存的内容。请查看Google撰写的有关memory analysis for Android的文章。特别要仔细查看MAT上的部分。