The first mobile phone was launched in the year 1973. The year 2013 commemorates the 40th year of its birth. From being bulky at about 1.1 kg and measuring nearly a foot in length, mobile phones have evolved from feature phones to smartphones in the past two decades. Smartphones have become an integral part of our lives and Google’s android OS seems to have increased their use by a considerable extent. Being an open source platform, apps for messaging, e-commerce, games, multimedia, tools and others are being pumped into the Google app store at a rapid pace.
Though these smartphones have memory that ranges from around 192 MB to about 2 GB and processor speeds ranging from 500 MHz to about 1.5 GHz, Smartphone application developers are still faced with the challenges of slower processing speed, smaller memory, limited power, slower network speed and smaller display when compared to a desktop PC.
From the first android phone, HTC dream, to the latest quad core android phones, there has been a significant enhancement in the specifications. But still, limitations seem to plague the mobile devices. Some of them are
- No Virtual Memory
- Unlike desktops, android phones do not have a concept of virtual memory. So whatever physical memory we have is what we get for processing the app’s data. Android doesn’t swap pages in and out of memory, but uses low memory killer to handle low memory scenarios and free memory for new applications.
- Limited Power
- Mobile phones usually last for around 2 days for the basic needs of calling and messaging; but with the increased number of apps being used on a smartphone, power consumption is an area of concern.
Android Performance Profiling Tools
User experience is of utmost importance in a smartphone compared to a desktop. Mobile app developers need to make sure that the apps developed have good user experience and responsiveness.
Mobile app developers also need to keep an eye on the following parameters:
- Battery consumption and
- Network consumption
In order to keep an eye on these parameters, they should be measurable. Android SDK provides a tool called ‘traceview’ which can implement a performance profiling of any app. But this tool requires inserting logs in the code, generating a trace file and viewing/analyzing it using the traceview tool. There are some third party tools that simplify the process of performance profiling and provide graphs and reports of the performance tests. Some of these profiling tools are:
- Little Eye: It is a desktop based easy-to-use, yet powerful tool that can catch bugs and performance issues in your Android apps. This tool also allows you to capture the video of the tests performed and evaluate the performance at different parts of the test. It is a paid software priced at $50 per month per user.
- Test Fairy: It is a tool which can be used to capture the video of the tests performed and monitor the performance of android apps. This free online tool requires a user to register and upload their app prior to its use. This may not be feasible for testing client apps. More information can be found at http://www.testfairy.com/.
Feel free to share your thoughts on the post and suggest any alternative tools which may be helpful.