设置->应用->正在运行,观察。我的应用就只开了一个Service,就占了14MB的RAM,而像微信,搜狗输入法,就5,6MB的样子。
我这个Service里面的代码就只有一个Timer(),在定时做些网络上的检查我觉得不是我这几行代码造成这14MB的支撑Service运行的机制是什么呢?能够从哪里寻找优化点?

解决方案 »

  1.   

    你怎么看的内存占用情况? 一个service很小的,service底层其实也就相当于一个thread
      

  2.   

    你的app没有Activity?
    1. 有没有使用Bitmap.
    2. 有没有申请大的数组
    3. 有没有多个Acitivity的共同存在(都没有主动销毁)。
      

  3.   


    我是在"设置"-->"管理应用"-->"正在运行"这里看的。每一个apk,都有显示占用的RAM(内存)
      

  4.   


    我刚做了一个实验,安装后,不启动任何activity,直接等消息启动Service,这时,才6M我是最开始是进了activity,然后退出,然后在"管理应用"那里看Service。我想,虽然已经退出所有activity了,但是android系统没有把这些activity内存销毁。所以我就以为Service占那么大的内存了