10 Solutions to fix App Crashes and Keep Apps Running: For Apple iPhone, Samsung Galaxy, LG, Lenovo and Sony Xperia smartphones
If you’ve got an app that keeps going down for no apparent reason, this quick and easy guide will give you the tools to get it up and running smoothly.
First, to ensure you receive the right type of support, please select your level of expertise and the type of problem you have:
I am an iPhone or Android user and an app keeps crashing
I am an iPhone or Android Developer and my app keeps crashing on some devices
Why Do My App Keeps Crashing On My Smartphone? Fix It With Our “How To” Guide
If you’re not from the tech world. You might think that programmers have their devices perfectly working all the time using cutting-edge technologies and their apps never crash.
Well, that’s not true. Whether you’re in the business of building apps for Android and iPhone, like we do at Bugfender, or you are a regular user with little technical knowledge, you’re likely to experience a crash. App developers regularly find themselves frustrated unable to fix their apps when they freeze for no apparent reason.
However, our team of iOS and Android has picked up a number of tips and tricks after years in the software business. Here, we have curated some of them for you, explaining some of the easiest and most common hacks to fix an app crash on a mobile phone.
These tips are designed to be useful for everyone – no matter how digitally savvy you are.
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 fix is simply to restart it.
Similar to a computer: turning the app off and on is usually the best option to fix an app-crash, either on a smartphone or a computer.
But this isn’t always as simple as it sounds. Each brand, and model, has its own distinct process for stopping an app. For example, if your phone uses Android as an operating system (as Samsung, LG, Sony, Huawei and many Xiaomi do) 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 normally 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.
In this case, you have to go to the Google Play Store or the Apple Store to verify that the app has the latest available version installed. If not, you will get a button to update it.
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.
Sometimes it’s just easier to remove the app in question and find an alternative. Yet even that can be tricky, as some apps are so bugged that they can only be removed with a third-party app remover. There are a few different options available on how to delete apps on Mac that won’t delete. This issue can also arise on iPads, though it is less common for iPhone users.
And if All Else Fails… Count on Bugfender!
If you’ve tried everything else, our remote error-logging tool Bugfender may provide assistance. Bugfender allows app developers to drill down, 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.
Simply get in touch with the creators of the app, and ask them if they use Bugfender. 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 Fix 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 in case their apps crashed on the big day.
The report calculated the amount of money spent by retail app customers on Black Friday the previous year and interpolated what would happen if every customer experienced at least one crash during peak hours.
Amazingly, the authors found that nearly $300 million were at stake. And that’s just one country, on one day of the year.
This alarming 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 panic when it crashed recently.
But it is still vital to your business. If your app fails you risk losing 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 can you keep your apps working, and prevent those hugely damaging outages?
At Bugfender we’re passionate about helping developers to make their applications as reliable as possible. We’ve compiled a number of common reasons why apps crash – with hacks to help you rectify them.
As a developer, it’s really important that you embrace mobile testing, if you want to learn more about this topic we have published some articles:
- You can start with our article Understand Mobile App Testing: A Starter Kit For App Devs that will provide you a global overview on how to perform Mobile App Testing.
- If you are a iOS developer, then you might be interested in learning to write unit tests in Swift, the article Effective Swift Unit Testing: A Comprehensive Guide to XCTest Framework it’s your next stop.
- In case you are writing Android code using Kotlin, then you will be interested in How to Write Unit Tests for Kotlin.
- And finally, as you don’t want to spend thousands of hours running you test, you can check how to automate them: Top iOS Automated Testing Tools: Comprehensive Guide & Analysis and Top 5 Automated Testing Tools for Android
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.
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. In order to debug Android problems, you must learn how to use ADB, the most critical tool to properly debug Android applications.
How to Fix
It’s important to remember 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 creation. Bear in mind that many users won’t have the high-end phones that developers usually 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’s also 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.
Error Handling
No matter how much you try to crash-proof your app, certainsome variables and parameters 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.
Such unexpected problems can often lead to a crash, which is frustrating for users. Then there are the situations in which an app may not crash, but just leave a user hanging – which can be even more frustrating than an actual outage. 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. That may sound counter intuitive, 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; it’s essential that any user, no matter their technical background, 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 competitors. 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 is replete with 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 sure 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.
f 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 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 our job, most developers have access to a fast internet connection. But this can lead to false expectations of typical user conditions; a common mistake developers make is assuming that we all live in a 20 Mbps utopia.
By falling into this trap, you’re opening the door to crashes. A significant number of your users will have a far slower connection, and they’ll need that connection for all kind of things, from retweeting memes about Donald Trump to finding out what time their country is playing in the World Cup. A high dependency on network resources combined with slow internet access can significantly reduce the responsiveness of an app, which 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. If you don’t fancy climbing a mountain or wrapping your phone in aluminum 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 Steve Jobs unveiled the iPhone on June 29, 2007, we’ve seen more than 40 different iPhone and iPad models and over 24,000 variants of Android.
For developers, this poses obvious problems; with the pace of roll-outs increasing all the time, it’s becoming increasingly difficult to test apps on real devices, especially if we 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. So Iit’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 our web portal when a network connection is available. The 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.