Android Developers :verify: · @AndroidDev
793 followers · 2075 posts · Server hello.2heng.xin

🌟 TikTok increased their Google Play rating by improving app performance.
They used the App Startup library and Layout Inspector in @AndroidStudio to find areas of improvement and refine them.
Check out their story of Android β†’
goo.gle/3Cx6IaS

:sys_twitter: twitter.com/AndroidDev/status/

#Jetpack #AppExcellence

Last updated 2 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Quality app + quality reviews = πŸ€”
Business growth! πŸš€
Take a technical dive into best practices and techniques for creating .

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 2 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Just one line of code can improve your app startup time. 🀯
Calling reportFullyDrawn() when your app is in a usable state can improve cold boot startup times, and you also get better Android vitals data. β†’

goo.gle/3wDSb9J

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 2 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Rideshare app @lyft used data from Android Vitals to improve startup time by 21% for its Driver app!
Learn how they did it and how you can also make a case to invest in . ↓
goo.gle/3NrcGNv

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 2 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Creating the best app experience starts with the right architecture, and we have the blueprint for success to achieve !
πŸ— UI layer
πŸ— Domain layer
πŸ— Data layer
Learn more about our recommended app architecture β†’
goo.gle/3x3m44b

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 2 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Improving app startup time can have a BIG impact on user retention.
Learn how @OfficialJoshApp improved app startup time by 30% and made the app 3x faster for users on older and low end devices. β†’

goo.gle/3tUQi5V

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence #AppQuality

Last updated 2 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Don’t create a LiveData or StateFlow if you don't need to! @bentrengrove has an tip. πŸ‘‡πŸ»
πŸ’‘ Compose state objects don’t have to be stored in a Composable function. You can use them in a ViewModel!
Find out more β†’
goo.gle/3u23HL7

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Check out this tip for ! πŸ”½
πŸ’¬ "Use spacedBy instead of Spacer to space out items by a fixed amount." - @bentrengrove
Learn more β†’
goo.gle/3KFXoml

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence #JetpackCompose

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Check out this tip from @marxallski! ⬇
Applying the "Theme.Material3.DynamicColors.DayNight" in your AppWidget layout will get you dynamic colors in devices and fallback to material3 colors for older devices.
Learn more β†’
goo.gle/3KuB6Ec

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence #Android12

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Improve startup time with one line of code by following this tip from @SKateryna!⬇
Android prioritizes work that happens before reportFullyDrawn() is called. Calling this method when your app is in usable state will improve startup time.β†’
goo.gle/3z6vdb0

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Check out this tip from @manuelvicnt! πŸ‘‡πŸΎ
β€œThe UI should handle UI logic and the ViewModel provides the screen state and access to the business logic that lives in the data and business layers. Don't mix them up!”

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

πŸ€” Do you need an external scope to outlive the caller's scope?
Inject it! β†’

goo.gle/3yNShuO

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Check out this tip from @manuelvicnt πŸ‘‡
β€œSimplify your APIs with coroutines and Flow. Use suspendCancellableCoroutine or callbackFlow to provide easy access to your API.”
Learn more β†’
goo.gle/3JbA0fI

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

viewModelScope gives you an easy way to start coroutines that survive configuration changes.
Learn how with this tip from @manuelvicnt! πŸ‘‡πŸ» then read more πŸ‘‰πŸ»
goo.gle/3F3aRkY

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Google Developers :verify: · @googledevs
260 followers · 2455 posts · Server hello.2heng.xin

RT Android Developers
πŸ“ We compiled a list of best practices for coroutines in Android, including:
βœ… Inject Dispatchers
βœ… Avoid GlobalScope
βœ… Use viewModelScope
and much more!
Check out our guide for more details β†’

goo.gle/3dultxn

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

⭐️ @headspace is so committed to for Android users they did a complete rewrite in Kotlin.
See how they increased monthly active users globally by 15% β†’
goo.gle/3IQfilN

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

πŸ“ We compiled a list of best practices for coroutines in Android, including:
βœ… Inject Dispatchers
βœ… Avoid GlobalScope
βœ… Use viewModelScope
and much more!
Check out our guide for more details β†’

goo.gle/3dultxn

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

πŸ’‘ Use the new repeatOnLifecycle API to stop collecting flows when the app is in the background.
Check out this tip from @manuelvicnt, then read the blog. β†’
goo.gle/31r85HF

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

βœπŸΎπŸ““ Get out your notebooks because class is in session! Check out this tip from @manuelvicnt. ⬇️
β€œAdd Component to the Hilt hierarchy when you want to scope instances to other classes that aren’t part of the Android SDK.”
Read more β†’
goo.gle/3IcqpEZ

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago

Android Developers :verify: · @AndroidDev
794 followers · 2075 posts · Server hello.2heng.xin

Have you migrated from Dagger to Hilt? @manuelvicnt has an tip for you! πŸ‘‡
β€œThe Android X extensions, testing APIs, consistency between projects, and the interop Hilt brings to the table outnumber the headaches Dagger can give you.” β†’
goo.gle/3dhaozH

:sys_twitter: twitter.com/AndroidDev/status/

#AppExcellence

Last updated 3 years ago