如何将活动保存到磁盘并在重新启动时重新加载它

时间:2013-07-03 02:02:30

标签: android android-activity

我有一个myApp,它首先启动ActivityA,然后ActivityA启动ActivityB。 ActivityB非常复杂,包含3个选项卡。

我写了另一个killApp来调用killbackgroundprocess来杀死我的应用程序以模拟系统资源以回收一些应用程序。

单击主页按钮,然后运行我的killApp以终止我的应用程序,然后再次启动myApp。我看了一段白色的背景板,然后ActivityB重新粉刷。

我的理解是,当单击主页按钮时,myApp的活动将存储到磁盘,重新启动时,ActivityB位于活动堆栈的顶部,因此再次调用其onCreate。因为ActivityB需要一些时间来初始化其内容,所以在整个活动准备好之前我看了一段时间的白色背景。

我的问题是:
1.如果应用程序是第一次启动,没有这样的白色背景问题,是因为在App启动期间,android系统会将所有资源加载到内存中,所以当创建ActivityB时,它不需要等待资源到被装?

2.如何解决上述白色背景问题?我的想法是将整个活动保存到磁盘,例如将整个活动对象序列化到磁盘,然后再次调用onCreate时,对其进行反序列化。但我不知道如何实现它。有什么建议?谢谢。

1 个答案:

答案 0 :(得分:0)