当我打开 iPhone 3G 时,应用程序第二次在闪屏上崩溃

Posted

技术标签:

【中文标题】当我打开 iPhone 3G 时,应用程序第二次在闪屏上崩溃【英文标题】:App crashing in splash screen in iPhone 3G second time when i open 【发布时间】:2011-09-15 13:55:12 【问题描述】:

我正在为 iphone 3G 和 iPhone4 开发一个应用程序,如果我在 iPhone 4 中测试我的应用程序一切正常,但如果我在 iPhone 3G 中测试我的应用程序,应用程序工作正常,但如果我很快点击我 iPhone 的主页按钮如果我单击我的应用程序图标,只显示启动画面,并且只显示启动画面,如果我在关闭它后等待大约 30 秒,它就会崩溃该应用程序没有崩溃。 我不知道是什么问题这是我的代码的问题吗?还是 iPhone?或者我需要处理任何 appdelegate 方法,例如

1.applicationDidBecomeActive: 2.applicationWillResignActive: 3.applicationDidEnterBackground: 4.applicationWillEnterForeground: 5.applicationDidFinishLaunching:

提前感谢任何帮助。谢谢。

【问题讨论】:

【参考方案1】:

确保您没有在以下方法中进行任何繁重的处理

    applicationDidBecomeActive applicationDidFinishLaunching applicationWillEnterForeground

如果在上述方法中花费时间,ios 将终止您的应用程序,因此请保持这些方法干净并在您的 RootViewController 等中进行处理

【讨论】:

【参考方案2】:

我建议您在以下方法中使用断点来准确了解程序中发生的情况:

applicationDidBecomeActive
applicationDidEnterBackground
applicationDidFinishLaunching
viewDidUnload (and all previous methods just before the unloading of the 
last view before you press your home button)
Allover your MainDelegate

尝试让应用程序在后台运行,看看会发生什么。

【讨论】:

【参考方案3】:

由于 iPhone 3G 速度较慢,当您尝试再次启动它时,它仍在关闭您的应用程序。 它没有直接关闭可能是因为您正在做的事情比您预期的要长一点。

它并没有真正崩溃,你看到的只是应用程序自行关闭它。这就是为什么如果您在几秒钟后尝试它会起作用的原因。

主要是- (void)applicationWillTerminate:(UIApplication *)application- (void)applicationDidEnterBackground:(UIApplication *)application

只需确保您尽可能退出应用程序,例如在用户关闭应用程序之前保存所有数据。

【讨论】:

以上是关于当我打开 iPhone 3G 时,应用程序第二次在闪屏上崩溃的主要内容,如果未能解决你的问题,请参考以下文章

为什么当我第二次在Android Studio中使用导航启动动作时,导航目的地丢失了?

核心图像过滤器的输出图像第二次在 UIImage 上运行时为零

应用程序第二次在列表视图的适配器中播放音频时崩溃

第二次在对话框中膨胀片段时出错

当用户第二次打开 cocos2d-iphone 时,如何更改第一个场景?

LocalStorage 在带有 os 10 的 iphone/ipad 中无法正常工作