I'm adding app linking to my android app and I'm noticing on cold starts there's this long period of a white screen, which the user could interpret it as the app is not responding.
I have a splash screen for normal operation of the app on the main activity using a special theme, but it looks like app linking bypasses that activity so is there a way to show a splash screen on the other screens when the app is accessed by a link action?
EDIT:
quick summary, the splash screen appears during the normal use of the app but when a link triggers the app to open, it's not.
I figured out a solution for myself.
I simplified the intent filters to all call from the main activity that has the splash screen so it will appear now on cold starts.
this cleaned up a few other issues so it's a win overall for me.
Related
I've noticed that when I go off an app like Snapchat, Twitter etc for a few seconds then go back on it, it opens from background as expected, on to the view controller I was last on. However, if I go off the app for more than a few minutes, when I tap on the app it loads the splash screen again and opens the home page.
I initially thought this was standard iOS behaviour, but when I installed my app onto my device I have noticed that even if I go off it for hours, when I come back onto it, the last view controller I was on is shown.
I have thought about checking how long the app was in background by saving times in NSUserDefaults, but don't actually know if this is the right way of going about achieving that kind of behaviour?
Thanks!
I've tried my best to look for a similar question on this site and on Google, but I couldn't find anything.
I have tried adding 3D Touch Quick Actions to my app, following one of the many tutorials found on the internet.
The problem is, everytime I perform the action from the home screen (testing on a 6S Plus), I see the LaunchScreen.storyboard screen and I have to wait a couple of seconds for the app to launch. This happens even if i just backgrounded the app. If I just tap the icon, I am instantly taken back to the last screen, but if I use the shortcut, it looks like the app restarts instead of resuming.
Is this the intended way of Quick Actions to work? Because it seems different to me with the Apple stock apps.
I figured out that some iOS apps are launching really faster (e.g. YouTube-from google,Skype,iTunes).
I created an empty application (used standard tabbed application template) and i did not change any code at all, just added splash images. When i tested (tried both developer and Ad-Hoc provisioning profiles to sign to check whether if there any difference), it did not launch as fast as the above mentioned apps.
When i tap the app icon on the device app icon get darker for about 0.2-0.5 seconds and then start showing splash image.
My question is how to make my app launch really fast, and is there any trick to show splash image very quickly? (i wonder how my empty application launches slower than above mentioned apps?)
Thanks
I think you also may be falling for a trick: at least for the iTunes app, Apple is overwriting the splash image with one that looks very much like the app while running, which creates the illusion that the app loads immediately. Try it:
Launch iTunes (or "Music") and start it playing, then go do something else to cause the system to swap the process out as much as possible (say, browse some heavy websites). Then relaunch iTunes and immediately try to pause the audio. On my iPhone 4, it takes about 3 seconds before the controls catch up: the position indicator will jump to the correct location, and until that time, the "play" button is inactive - you can't pause the audio. You're seeing a splash image that is meant to make you think that the app is launching immediately, even though it's really taking a few seconds to launch.
I've also noticed Chrome for iOS doing the same thing. I actually dislike this design decision, because it communicates that the app is ready before you can do anything with it.
i did not changed any code at all just added splash images
The loading images are not intended to show splash images, they are intended to show a static version of your application's interface to give the illusion that your application is loading more quickly than it really is.
Splash images are specifically warned against by Apple in the HIG.
Stop abusing loading images to show splash images, start using them properly, and your application will look as if it is loading more quickly.
link to as few frameworks as possible, we tried this at WWDC and linking to many frameworks creates a noticeable delay even before the main() method is called!
no matter how fast your code itself is!
My issue is with the splash screen shown when the app opens while in suspended mode.
When the app is closed and i open it, i see the Default.png splash screen, which is what i need.
But if i send it to the background and reopen it, i see a snapshot from the last screen i was in, and i want to see the splash screen.
I have even considered forcing the app to quit on when entering background, but i'd rather show a snapshot than do this.
How can i accomplish this?
Thank you.
You can't change the image that is shown when the app starts (Default.png) or enters the foreground (snapshot of previous app state).
Ask yourself, how would showing a splash screen each time the app enters the foreground improve the user experience?
Edit: Here's a guess at a workaround:
Based on your comment below, it sounds like you're saying it would be OK if the user always came back to the main action screen. In the applicationWillResignActive: method, could you check what screen the users is on, and if it's not the main action screen, move back to that screen... the snapshot would be of the main action screen then (maybe!)
The splash screen of my app is showing when I reload the app after clicking the home button. It doesn't happen every time. It only happens when I press the home button while the app is creating a movie with AVFoundation and the reload the app.
Anyone have any idea why this is happening and how can I tackle the problem?
Thanks a lot!
It sounds like your app is actually being shut down, not just put in the background. It may be doing too much processing after being sent to the background so that the OS kills the app.