我正在开发一个相当复杂的 Android 应用程序,该应用程序需要大量有关该应用程序的数据(我想说总共大约 500KB - 对于移动设备来说这个数据大吗?)。据我所知,应用程序中(更准确地说是活动中)的任何方向变化都会导致活动的完全破坏和重新创建。根据我的发现,Application 类没有相同的生命周期(即,出于所有意图和目的,它总是被实例化)。将状态信息存储在应用程序类内部然后从 Activity 引用它是否有意义,或者由于移动设备上的内存限制,这通常不是“可接受的”方法?我真的很感谢有关这个主题的任何建议。谢谢!
我认为 500kb 没什么大不了的。
您所描述的正是我解决活动中丢失数据问题的方法。我在 Application 类中创建了一个全局单例,并且能够从我使用的活动中访问它。
如果要经常使用数据,您可以在全局单例中传递数据。
public class YourApplication extends Application
{
public SomeDataClass data = new SomeDataClass();
}
然后通过以下方式在任何活动中调用它:
YourApplication appState = ((YourApplication)this.getApplication());
appState.data.UseAGetterOrSetterHere(); // Do whatever you need to with the data here.
我讨论一下在我的博客文章中 https://web.archive.org/web/20130818035631/http://www.bryandenny.com/index.php/2010/05/25/what-i-learned-from-writing-my-first-android-application,在“全局单例”部分下。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)