Tag Archives: android

Lean Apps

At Naukri we always target to keep the the app lean in terms of size. Size can be measured as:- -APK download size: Users often avoid downloading apps that seem too large, particularly in emerging markets where devices connect to often-spotty 2G and 3G networks or work on pay-by-the-byte plans. -App size on phone : Smaller the app size, more are the chances when competing with remaining apps for staying in the user’s phone for a long time. We regularly analyze the components which we can optimize or remove to reduce both. Some of the best practices we use are: Remove unused... Read More

Naukri Android App v9.0 Beta

The itch of having your app to be the most updated with industry and the passion of doing the best in performance (As per our mobile design principles for memory, size, network and speed); these are what keep the engineering team here motivated. The latest Naukri Android app release (v9.0) bundles new features and lots of technical improvements. An existing user will get to see a completely new and improved user interface with Material. The app’s Dashboard has been revamped for easy access to new jobs, updates and actions to be taken by a jobseeker. Users can now Browse IIT/IIM jobs,... Read More

How we @Naukri avoid Out of Memory (OOM) in Android Applications

We in Naukri.com always keep memory usage in mind while developing android applications and keep on regularly checking the memory usage of different pages. We added memory usage in our checklist before releasing any new version because racking down the android memory issue (OOM) is one of the pain full task of every android developer. OOM errors often seen on tools like Criticism or Crashlytics make developers run for the solution and finally doomed with fuzzy answers. Mobile devices typically have constrained system resources so we have to be cautious while loading the media files. The... Read More

MVP in Android

It is commonly said that Unit Testing in Android is hard and we observed the same. This is mainly because the standard way of developing Android applications encourages us to write code that is difficult to unit test. A lot of business logic resides in the component classes (e.g. Activity, Fragments, Services etc..) which is definitely not easy to test. We can write UI tests for them but these tests are based on instrumentation API and are very slow as they run on an emulator/device and are more like end to end functional tests rather than unit tests. Version 1.1 of Android Studio added... Read More

Android Parallel Automation

Android parallel automation Android Parallel Automation to increase Coverage Naukri has more than a lakh users using its Android application. These users are widely spread across multiple android devices with various combinations of android versions. We work hard to ensure that our application works well for our entire user base. Acknowledging that appium scripts are slow, it was a time taking task to execute a 10 hours long script on multiple devices, calculatedly taking around half a day in execution on single device and completely taking around two to three days on just 3 devices (in the best possible scenario). If... Read More

Supporting multiple environments in Android

It is quite common for any application to be built and tested in multiple environments like development, test, staging, production etc... And it is typical to have a different set of URLs for each environment. The same holds true for Android applications also. Ever since we started building Android apps (in Eclipse), managing environments was a tedious but necessary task. In web applications we could easily use symbolic links to separate our environment configurations but it had to be something else in Android apps. A very simple approach is to define an environment variable and change it as... Read More

Android App automation @Naukri

AppiumAndroid Naukri is one of the early bird which started automating mobile applications using Appium. It took us lot of time to identify compatibility of Appium with Android versions, and then with Selenium versions and further with java and java clients. The challenges we faced and the final compatibility that worked well for us is something I am sharing here. So, just putting it down here for the benefit of any beginner to appium. Appium! I’m sure is by now not an uncommon tool in the testing community. I consider that you already know ‘What’ and ‘Why’ about Appium. One of the... Read More