xingda920813 / HelloDaemon

Android 服务保活/常驻 (Android service daemon using JobScheduler)
MIT License
2.31k stars 443 forks source link

长时间运行内存不释放 #48

Closed momochenxx closed 6 years ago

momochenxx commented 6 years ago

1513849759 1

内存分析就是这样 运行的demo

xingda920813 commented 6 years ago

这些是 ServiceConnection 的实例, 每一种 Service 就对应一个 ServiceConnection 的实例.

BIND_STATE_MAP.put(serviceClass, this);

这些会放到一个 static 的 HashMap 中,

static final Map<Class<? extends Service>, ServiceConnection> BIND_STATE_MAP = new HashMap<>();

占用内存应当不大, 同时并不造成内存泄漏. 从图的左边区域上可以看到 com.xdandroid.hellodaemon 包下的类占用的内存, 只有 530 Bytes.

momochenxx commented 6 years ago

嗯 看见了 怎样才能解决这个问题呢? image

xingda920813 commented 6 years ago

这些实例需要一直保留在内存中, 是保活所需要的. 我不认为这是一个问题, 何况占用内存如此之小.

momochenxx commented 6 years ago

哈哈 好吧 他会一直增加 强迫症

momochenxx commented 6 years ago

跑了一晚上
image