10 Solutions to fix App Keep Crashes on your Apple iPhone, Samsung Galaxy, LG, Lenovo and Sony Xperia smartphones
If you’ve got an app that keeps going down for no apparent reason, don’t worry, this quick and easy guide will give you the tools to get it up and running smoothly.
To help you better, first select what type of user you are and what problem you have:
I have an iPhone or Android and an app keep crash
Why do my apps keep crashing on my Smartphone? Fix it with our “How To” guide and stop app crashes
If you’re not from the tech world yourselves, you probably think us programmers get everything right all the time. That everything in our world is so cutting-edge it can slice through ice, and app crashes are practically an alien concept for us.
Well, that’s not quite true. Whether you’re in the business of building apps for Android and iPhone, like the Bugfender crew, are you’re a regular user with little technical knowledge, you’re just as likely to experience a crash. App developers regularly find themselves facepalming in frustration, unable to fix their apps when they freeze for no apparent reason.
However our team of iOS and Android programmers have picked up a number of tips and tricks over our years in the software business, and here we’ll lay them out for you, explaining some of the easiest and most common hacks to fix an app crash on a mobile phone. The tips are designed to be useful for everyone – no matter how digitally savvy they may be.
Kill the App Manually
If you have an app that does not respond when you try to interact with it on your smartphone screen, the traditional port of call is simply to restart it. It’s like a computer: turning the app off and on is usually the best option when you need to fix an app-crash on a smartphone. Simple, right?
Well, no. The off-and-on-again process actually varies according to the brand and model. For example, if your phone uses Android as an operating system (like Samsung, LG, Sony, Huawei and many Xiaomi models) you have to open the multitasking window. To do so, take a look at the three buttons on the bottom of your phone.
The middle button is usually “home” and takes you back to the initial screen. Then there is usually another button, either on the left or right side, to return to the previous screen or cancel an action.
It’s the third button that interests us here. Sometimes it has an icon of a square, other times it has a series or vertical or horizontal lines. Press it and you will see the list of the apps you most recently opened on your phone.
Within this window, some brands add a button called “clean” that will close all the apps you have open, including the one that is giving you problems. On some phones, you can also manually close each app, by clicking on a close button (with an X icon) or by flicking the app off the screen with your finger.
It’s similar on the iPhone and iPad, but since there is no specific button for that action you have to double-click on the “home” button. Then you’ll have to slide the app you want to close to the top of the screen.
Restart the Phone
If the above hasn’t worked for you, or you’ve tried it and the app keeps crashing, maybe the app that is causing problems has some process running in the background or interferes with the behavior of another open app, or the operating system itself.
In this case, the next recommendation would be to restart your phone. There are two options – to reboot the normal way and carry out a forced restart (which isn’t advisable unless it’s absolutely essential).
The ‘normal’ method, as you’ll probably now, involves simply pressing the button to turn off your phone for a few seconds and then selecting turn-off or restart (this last option depends on the brand and model).
The second option, also called “hard reset”, should only be used when you’ve tried to restart using the usual buttons and screen pulses, without success. If you carry out a hard reset, there’s a risk you could lose some of the data on your phone that has not been saved, or cause some other type of problem.
On the iPhone, you can usually carry out a hard reset by pressing both the switch-off and home buttons at the same time for 10 seconds. On other brands it is usually enough to press the switch-off button for between 10 and 20 seconds. You’ll know it’s worked when the start logo flashes up.
Update App to the Last Version, the App Crash Fixer
Sometimes app-crashing is not caused by your phone, but rather the app itself. An internal error, or bug, may have brought the app down. Normally, if it’s an error that’s affecting various people, the creators of the apps immediately realize the problem and will soon publish an updated version of the app with the solution.
Once the app is updated, you may need to manually close the app, as we explained in the first step, and reload it – this time with the update and the bug fixed.
Consult the Official App Support
If you’ve tried all the previous steps and they haven’t sorted the problem out, perhaps you’re dealing with a rare problem that’s limited to just a few people. But don’t worry – the people who built the app may be able to help. Go to the app’s official website and consult the customer service section, and you’ll be able to see if someone has had the same issue.
Another source of assistance is forums and social networks. Many popular apps have their own forums, or pages within more general forums, enabling users to share tips and experiences. A quick Google search, including the name of the app and a brief description of the error you’re experiencing, should bring up a list of sites where this very problem is being discussed.
And if All Else Fails… Count on Bugfender!
If you’ve tried everything else, Bugfender may be able to help you. How, you ask? Well you need to get in touch with the creators of the app, ask them if they use our remote error-logging tool, Bugfender. If they do, they’ll be able to see exactly what’s going on
Bugfender allows app developers to drill down and see every single one of their users’ devices and access the activity logs (the code lines that show developers what’s happening under the hood). So, if the troublesome app is backed up by Bugfender, the developer should already have received a report from your phone, with a full crash log of the error that you’ve experienced. All they have to do is check the report and give you a personalized solution.
Developers Guide: 5 Reasons Your App Crashes and How to develop a Fix to Them
In 2016, on the eve of the Black Friday sales frenzy in the US, a research firm called Apteligent released a report estimating how much money firms could lose if their apps crashed on the big day. The report tallied up the amount of money spent by retail app customers on Black Friday the previous year and worked out what would happen if every customer experienced at least one crash during peak hours.
Amazingly, the authors found that nearly $300 million was at stake. And that’s just one country, on one day of the year.
This startling figure shows us the importance of making apps as crash-proof as possible. Your app may not be as high-profile as Instagram, which sent billions of selfie enthusiasts into frenzy when it crashed recently. But it is still vital to your business. If your app fails you risk forfeiting a small fortune in transactions, not to mention torpedoing your user base. Some estimates suggest that over 50% of users may uninstall an app if it crashes, freezes or behaves abnormally.
But how do we keep our apps working, and prevent those hugely damaging outages? Well at Bugfender we’re passionate about helping developers around the world make their applications as reliable as possible, so we’ve compiled a number of common reasons why apps crash – with hacks to help you fix them.
Poor Memory Management, an App killer
Some developers design and build their app to behave like Mariah Carey or Cristiano Ronaldo. Their apps behave like little digital divas, hogging all the phone’s attention – and draining its resources.
Unfortunately this often leads to crashes. An app will never have all a phone’s resources to itself, so if developers build apps which eat up a huge part of a phone’s memory, they’re sowing the seeds of future problems. Poor memory management is one of the most common reasons for app crashes on mobile devices (tip: learn Android Studio Debug with bugfender), and this is especially true for low-end mobiles and tablets.
How to Fix
The key thing to remember is that your app is a single entity in a larger ecosystem and you must think about many other resource-hungry factors in addition to your own prized creation. Bear in mind that many users won’t have the high-end phones that developers possess, and memory allocation problems are common.
Interestingly, Android’s ecosystem provides really powerful memory management tools which mean developers have the freedom to handle memory as they like (the disadvantage is the complexity of the process). For iOS, the Swift and Objective-C programming languages offer very efficient tools to manage memory, mostly automatically. Nonetheless, iOS developers need to ensure they understand how memory management works.
In terms of specific memory issues, apps can often run into trouble when managing files of
multiple megabytes, such as images. The trick here is to load only the parts of the file needed at each time, instead of loading it in memory. Using the example of images, you may want to build a resized version with the exact size it will have on screen.
When managing large view hierarchies, you may also want to get rid of views that are hidden or off-screen. The most prominent example is lists and tables; you need to be careful with these if you want to recycle views properly.
Also bear in mind that, when apps are carrying out complex calculations, your phone may need to free up memory in the middle of the process. With Android devices this is managed automatically by the system, but in iOS it might be necessary to create an auto-release pool.
If you want to see great examples of small apps which punch above their weight, check out Vanilla Music, a simple music player, and a dictionary app called Instadict. Amazingly, both weigh less than 750KB. Several of the heavyweight apps like Facebook, Pinterest and Instagram now have their own ‘lite’ versions and it might be worth taking a look at these mini-apps to get some tips on how to streamline your own creation and cut all the excess fat away.
No matter how much you try to make your app as resilient as possible, there are some variables and parameters that are simply out of your control. If a user’s Wi-Fi goes down during a file transfer, for example, or they simply enter an incorrect value into a field, it could send the app haywire.
Unexpected problems like this can often lead to a crash, which is frustrating for users. However, there are situations in which an app may not crash, and just leave a user hanging, not knowing what’s happening. This uncertainty can be even more frustrating than an actual crash. So it’s important to ensure you’ve accounted for such errors and put handling conditions in place.
How to Fix
If you find your app has developed a fault, it’s good practice to terminate all activity and inform the users about it. That may sound counterintuitive, but by proactively managing your communication with users and giving them advance warning of any outages, you are likely to retain them for a much longer period.
When crafting your error messages, make them informative and useful. Avoid technical jargon and developer-speak; simply explain in layman’s terms what happened so any user can understand. Also offer a solution to enable the user to rectify the problem. A good error message could read: “Oops! There is no Internet connection right now, maybe look for a good spot and try again?”
Software Lifecycle and Development Process
The concept of iterative app development – the release of an early working version to market and piecemeal improvement thereafter – carries several obvious advantages. You can gauge user reaction, identify problems, create a marketing buzz and get the edge on potential competitors if you’re racing to roll out a potential game-changer. Resources can be channelled from documentation to design and changes to the project are less costly than in the traditional ‘waterfall’ process of build, test and release.
But iterative app development also poses several challenges. The complexity of a stage-by-stage rollout means you’ll need top-notch project managers to keep track of everything. Every time you release a new version or feature, all the previous tests must be redone. The need to integrate third-party services and APIs can place a real burden on your development team, particularly if your company is smaller. OS manufacturers like Samsung, Google and Apple regularly release their own updates, which can really throw you off course if you’re still tinkering with your own product.
Simply put, the earlier you release your app to market, the more likely it is to contain flaws. Unfortunately, if an app keeps crashing users won’t care whether it’s a first-stage prototype, or the final version. They’ll simply forget about it.
How to Fix
If you’re thinking of going down the iterative route, you need to be clear that you have the resources and that your project justifies this strategy. For large-scale projects, iterative may be the way to go, but you may find that a small project gets fiendishly complicated when broken down into even smaller stages, so it may be more suited to the build-test-release route.
If you do decide on iterative development, you need to be ready for any potential issues with OS and third-party APIs. We don’t mean that you should anticipate these issues ahead of time – it’s almost impossible for developers to do that – but you should think about any potential problems which could arise, and be ready to update your app as soon as a new version of an OS or third-party API is released.
Poor Network Management, and easy Crash fix
Due to the nature of their job, most developers have access to a fast internet connection. But this can be a problem in the planning process; a common mistake developers make is assuming that we all live in a 20mbs utopia.
The fact is that a significant number of your users will have a far slower connection, and they’ll need that connection for all manner of things, from retweeting memes about Donald Trump to finding out what time their country is playing in the World Cup. If you forget this then you expose your app to crashes, as a high dependency on network resources combined with slow internet access can significantly reduce the responsiveness of an app. This in turn leads to poor performance, instability and some unfortunate down-time.
How to Fix
When building your app, try to throttle your network speed. Test the product on slow networks and mobile networks with bad coverage (we can think of a few, as it happens). If you don’t fancy climbing a mountain or wrapping your phone in aluminium foil, you can easily find tools to simulate slow network speeds. For iOS, you can download the Network Link Coordinator from Apple’s developer page. For Android, you can download the emulator from the Android SDK. Both tools will enable you set your own internet speed.
Once you’ve throttled the pace, make sure your app is optimized to work in these conditions. And be sure to display meaningful notifications to users when sufficient speeds aren’t available.
Poor Testing on Android/Iphone mobiles
It’s amazing to think that the iPhone is only 11 years old. Since that momentous day on June 29, 2007 when Steve Jobs’ most famous creation was unveiled, it has spawned nearly 40 different iPhone and iPad models. If you think that’s a lot, check out the number of Android models; back in 2015 it was estimated that there were more than 24,000 variants worldwide, and with all the different manufacturers out there, it’s impossible to keep a full tally.
With the pace of roll-outs increasing all the time, it’s becoming increasingly difficult for developers to test their apps on real devices, especially if they have a low budget. Various simulators and emulators are available but these have their own drawbacks. They cannot mimic the effect of low or overheated batteries, the interruptions of incoming calls or the interaction with a device’s camera. The data produced by a simulator may carry further limitations as, unlike an emulator, it does not replicate the hardware of a device. It’s important to always test an app in full, on at least one device.
How to Fix
Releasing apps into the market without adequate testing leads to lots of stability and performance issues. However there are measures that can be tailored to effectively combat bugs when they, inevitably, arise. Tools like Bugfender help developers test their apps on real devices with real users, enabling them to easily find bugs and fix issues as soon as possible. Bugfender collects usage logs locally and sends them to the our web portal when a network connection is available. The Bugfender solution is equipped with a load of new features, including a remote logger, issue tracker and crash reporting functionality, meaning it is a great all-in-one solution for mobile app debugging.