在我的应用程序中,有一个静态变量,当我从外部浏览器返回到我的应用程序时,该变量被设置为null。如果我启动的外部网页足够复杂,似乎该应用程序或应用程序的某些部分将被杀死。如果应用程序被完全杀死,然后从可以进行的主要活动中重新启动,但是重新启动是从启动浏览器的活动中进行的-但这并不意味着要设置应用程序状态,因此在访问null静态变量时会崩溃。这对我来说是六分之一的设备问题,因此我需要一些建议。是否有设置标志来防止此行为?
3 回答
慕森卡
TA贡献1806条经验 获得超8个赞
通常,这会在设备进入睡眠模式时发生。
可以通过以下步骤模拟设备的这种行为:
运行应用程序,然后按“主页”按钮
在左下角的Android Studio中,选择已调试的应用程序,然后按应用程序名称左侧的X按钮(终止应用程序)。(不知道如何使用Eclipse,但我认为类似)
点击应用程序图标在设备上。
如果“任务”为活动,则该应用程序将在上一次活动时打开,并且(很可能)将生成错误,因为所有静态变量均已保留。
莫回无
TA贡献1865条经验 获得超7个赞
在Android中使用static(单身)的解决方案非常简单:
实现一个扩展类android.app.Application
并在其中进行所有单例初始化onCreate()
推理:
即使您的应用程序的进程由于内存不足而被终止,扩展应用程序的类也会首先执行
只要调用Application.onCreate(),您的应用程序便具有上下文
- 3 回答
- 0 关注
- 490 浏览
添加回答
举报
0/150
提交
取消