This session goes through the nuances on how Android libraries have to be developed in a restricted environment as they run inside other apps. This session will not be very practical in terms of development but will be more of an interactive session with the audience, where I will compare the different aspects of Android development in terms of comparison between App development and SDK development and pick their brains on how would they go about developing an Android Library if they got a chance.
For example, while a majority of the apps use famous libraries like Retrofit or Volley to do their network calls, an SDK needs to either use AsyncTask or conjure up a trick using Threads and Handlers to ensure their networking is smooth. While apps use advanced DB libraries or frameworks like Room/Realm/greenDAO, Android libraries who cannot use these because it would mean that the apps into which they land up in would also have to add them as a dependency, have to make do with SQLite.
Once I mention the different types of problems faced by Libraries in terms of networking, database handling, UI components, handling images/GIFs/Video, efficient library size and also handling backward compatibility, I will provide my solutions which I have used in the CleverTap Android SDK as one of the possible solutions. I will also shed some light on the process of publishing libraries on JCenter or MavenCentral.
The aim of this session is to bring a wide range of app developers to the not so bright side of the development of Android Libraries and Frameworks and probably engage their minds into thinking the challenges faced by libraries and providing tried and tested solutions so that they can explore this niche world on their own.
How many times have you measured your app start-up times to reduce the bounce rates? Do you check out the size and contents of third party libraries before including them in your project? Have your users complained that your app is eating away their RAM or draining their battery or is very slow? Does your build take a lot of time or does your layout take a considerable time to render, and you do not know why is that happening? This is everything that this session is all about.
With my co-speaker's experience of building a SDK powering more than 8000 applications and reaching out to millions of devices worldwide and my experience of building world’s first regional and India’s second-largest Mobile OS and developed for the Government of India reaching out 100 million users, we will be talking about profiling your app, using Benchmark by Jetpack, measuring your UI & App bootup intervals, memory monitoring, handling memory leaks, battery optimizations and other improvement techniques which will help you understand the nuances of Android App Performance. We will also be breaking the myths related to Android App performance.
This session is catered to each and everyone out there, from beginners to experts who want to understand how to measure the performance and improve their app using the best practices and Android developer toolkits.