jch*_*tof 57 null static android android-activity
在我的应用程序中有一个静态变量,当我从外部浏览器返回我的应用程序时,该变量被设置为null.如果我正在启动的外部网页足够复杂,似乎应用程序或其中某些部分被杀死.
如果应用程序被完全杀死然后从主要活动中重新启动就可以了,但重新启动来自启动浏览器的活动 - 并且它并不意味着设置应用程序状态以便在访问空静态变量时崩溃.这对我来说是一个六分之一的设备问题所以我需要一些建议.
是否有设置标志以防止此行为?
kab*_*uko 45
这是大多数移动操作系统中的标准行为,绝对包括Android.您的应用程序是在事实上,如果具有较高优先级(通常,如果是在前台它的优先级更高)其他应用程序所需要的资源往往被杀害.这是由于具有相对有限资源的移动设备的性质.
您应该将数据保存在更耐用的地方.您可能会发现有关通用数据存储的这篇文章很有用.此问题也应该相关:使用"保存实例状态"保存Android活动状态
请注意,这实际上不是六分之一的设备问题.这是所有设备上的"问题" ,它在您的某个设备上更明显,可能是因为它的内存较少.如果您在任何其他设备上运行内存密集型应用程序,您应该会看到相同的行为.也没有防止这种情况的旗帜.这是标准的和预期的.
Vla*_*lov 20
通常,当设备进入睡眠模式时会发生这种情况.
可以通过以下步骤模拟设备的此行为:
如果任务是活动,则应用程序将在最后一个活动上打开,并且(很可能)将生成错误,因为所有静态变量都已离开.
在Android中使用静态(单例)的解决方案非常简单:
实现一个扩展的类,android.app.Application
并在其中执行所有单例初始化onCreate()
推理:
归档时间: |
|
查看次数: |
29972 次 |
最近记录: |