开发者

Is there a way to always use the default.png when returning from background?

In one of my apps when returning from background I get a non consistent behavior: Sometimes I get the default.png and sometimes I get a snapshot of the last screen which the app was in. In both cases it takes the UI a good second or two to respond again. Therefore I would rather show the default.png rather then "unresponsive UI"

Is there a way to make the app display the default.png always until the app becomes active again?

Currently the "stupid" way to do it I thought about is by displaying some Modal view with the default.png and removing it on return to foreground.

Few Clarification:

  1. I am doing this to avoid unresponsive UI.

  2. I am using the default.png as it looks like loading and gives a better experience then unresponsive UI

  3. The app has to run in background.

(And to whoever asked - no it is not closed when I sometimes return and see the default.png and not the last UI state - App loading from the start has a开发者_C百科 very different path and I'm sure of that)

Thanks in advance.


This is not a correct behavior and you may experiencing a bug. Basically as long as your app is in the background, when you launch it, you should not see the default.png, unless you remove it from background (double click on home button and delete that app).


For future people interested in this you can use the fact the last view in the app is used to be displayed when the app loads back. You can display a VC as your moving to background which will represent some loading - hence achieving the desired behavior.

I've already seen a few other apps using the same behavior in cases operations are ran when coming back into the app.


Most probably, you are taking too long (performing too many calculations) in methods such as applicationWillEnterForeground:, applicationDidBecomeActive:, etc. As a simple test, try commenting out the code in these methods and see if the problem occurs again.


Simply set in your Info.plist the property "Application doesn't run in background" to YES. The app will never go in background and when the home button is pressed it will be simply terminated. So you're back to the pre-iOS4 behavior.

Note that when you see now the default image at start-up it is simply because your app has been terminated while it was in background. This is normal especially for apps that take a lot of memory and then don't free it enough before going in the background (I think the threshold for the OS is about 18MB but I'm not sure)

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜