Android @Scale 2018 recap

Visit the post for more.

Nick Hammer
4 min readintermediate
--
View Original

Overview

The article recaps the first-ever Android @Scale conference held in New York City, where over 250 expert Android developers gathered to discuss technical challenges and solutions for building applications that serve millions of users. Key presentations covered topics such as automated testing, app modularization, and performance optimization using various frameworks and libraries.

What You'll Learn

1

How to implement automated testing practices to maintain code quality

2

Why using Room and Paging Library can enhance user experience in Android apps

3

How to optimize video rendering performance using Litho

4

How to effectively serialize data in Android applications with a custom framework

5

When to apply modularization in your Android codebase for better memory management

Key Questions Answered

What are the benefits of using the Paging Library in Android development?
The Paging Library helps developers optimize data loading by fetching only the required data, which improves user experience by reducing load times and memory usage. This is particularly useful when dealing with large datasets, as it allows for smoother scrolling and better performance.
How does Litho improve video rendering performance in Android apps?
Litho enhances video rendering performance by providing a declarative UI framework that allows for more efficient rendering compared to traditional Android views. This results in improved scrolling performance by up to 20% in the Facebook for Android app, making the user experience smoother.
What is the purpose of StrictMode in Android development?
StrictMode is a developer tool in Android that helps identify accidental disk or network access on the main thread, which can lead to UI jank. By enforcing best practices, it ensures that these operations are offloaded to background threads, resulting in a more responsive application and preventing ANR (Application Not Responding) dialogs.
What challenges did Pinterest face while migrating to the Model-View-Presenter architecture?
Pinterest encountered challenges related to maintaining app stability and ensuring a smooth transition while incrementally rewriting their app in the Model-View-Presenter architecture. This approach aimed to enhance development speed and promote better separation of concerns within the codebase.

Key Statistics & Figures

Improvement in scrolling performance
up to 20%
This improvement was achieved by using Litho for video rendering in the Facebook for Android app.

Technologies & Tools

Some links below are affiliate links. We may earn a commission if you make a purchase.

Database
Room
Used for managing local data in Android applications.
Frontend
Litho
An open-source UI rendering library used to improve video rendering performance.
Frontend
React Native
Framework used for migrating apps to enhance feature velocity.
Dependency Injection
Dagger 2
Utilized for configuring advanced list implementations in Graywater.

Key Actionable Insights

1
Implementing automated testing practices can significantly enhance code quality and stability in large Android applications.
As discussed by Waseem Ahmad from Facebook, maintaining a high-quality codebase is crucial for apps serving millions of users. By adopting robust testing frameworks, developers can catch issues early and ensure smoother releases.
2
Utilizing the Paging Library can drastically improve the performance of apps that handle large datasets.
Will Baumann and Pedro Veloso from Audible highlighted the importance of fetching only necessary data, which not only enhances user experience but also optimizes resource usage.
3
Adopting a modular architecture can lead to better memory management and faster load times.
Mona Huang from Instagram emphasized the benefits of modularization, allowing teams to control code loading and improve overall app performance.
4
Using StrictMode can help prevent UI jank by enforcing best practices in thread management.
Kurt Nelson from Google explained how keeping disk and network operations off the main thread can lead to smoother user experiences and reduce the likelihood of ANR dialogs.
5
Migrating to a new architecture like React Native can enhance feature velocity and streamline development processes.
Yang Mou from Oscar Health shared insights on their migration strategy, which allowed for gradual updates and improvements in app functionality.

Common Pitfalls

1
Failing to keep disk and network operations off the main thread can lead to UI jank and ANR dialogs.
This is a common issue in Android development that can be avoided by using tools like StrictMode to enforce best practices in thread management.