我运行以下代码来启动服务:
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Intent intent = new Intent(this, CreatingService.class);
startService(intent);
//finish();
}
}
当在任务管理器中看到时,这最初需要13-14 MB的内存。当我回到主屏幕并终止活动(从最近的列表中滑动)时,服务被重新创建(START_STICKY
),从那时起需要大约3-4 MB的内存。此外,如果在上面的代码中没有注释掉finish()
,则需要再次使用3-4 MB。但我不能这样做。
任何人都可以解释究竟发生了什么,并为此解决了这个问题吗?
答案 0 :(得分:0)
如果你没有完成你的活动,它会留在你的记忆中,比如在后台。
为什么这有什么好处?
因为活动不需要进行重新调整,因此加载速度要快得多。
你应该担心吗?
不,如果资源运行不足,Android会自动终止您的应用。