The code Resources The strategy App Bundle With the Android studio we have option to generate app bundle to publish the app. Based on device configuration app bundle will install only that specific device related resources.
maintains good programming habits. Do not repeat or unused code. Add libs carefully and remove unused libs.
Use proguard to obfuscate the code, it will optimize the unused code, and can reduce the size of the installation package after obfuscation.
The part of native code, in most cases, only needs to support armabi and x86 architecture. If not necessary, consider removing the x86 part.
Use the Lint tool to find unused resources. Remove unused images, strings, XML, etc. Make sure there are no unused files for assets in the assets directory.
When generating the APK, the aapt tool itself will optimize the png, but before that, you can use other tools such as tinypng to further compress and preprocess the image.
jpeg is still png. Choose according to your needs. In some cases, jpeg can reduce the size of the picture. For 9.png images, the stretchable area should be cut as small as possible. In addition, you can avoid using the entire large image when using 9.png stretching to achieve the effect of large images.
provides the image resources of hdpi, xhdpi, xxhdpi selectively. It is recommended to provide xhdpi pictures first. For mdpi, ldpi and xxxhdpi can provide different parts as needed.
Reuse existing image resources as much as possible. For example, you only need to provide a symmetrical picture, and another picture can be implemented by code rotation.
Functions that can be implemented in code, try not to use a lot of pictures. For example, to reduce the use of multiple pictures to make an animation-list AnimationDrawable, this approach provides multiple pictures that take up a lot of space
How to install/ uninstall apk by command line ADB
Fix Android Emulator Kill Error When Running Your App
What is the difference between match_parent and fill_parent?
FCM Not Receiving Notifications in Android - RRutors
ERR_ACCESS_DENIED in Android Webview with sdk 30
Decompile APK Files: How to Get Source Code - RRutors Guide
Hide/Disable soft keyboard on Activity launch: Android
Fix Play Store Rejection Due to SMS Permission - RRutors
Invoke-customs are only supported starting with android 0 --min-api 26
Permission denied for window type 2010 in Marshmallow device
Explain Fragment Life Cycle
What is ANR? How to avoid and resolve it?
How to convert DP to Pixel and Pixel to Dp?
What is Android Fragments?
How to get an image resource by it's name in android?
How do i load image from drawable folder in Jetpack Compose?
How to Exit android app on back pressed?
How to convert milli seconds to hours, minutes and seconds in Android?
How to validate email address in Android with Kotlin?
How to Use Deprecated Handler() in Android - RRutors Guide
How do I generate random numbers in Dart?
Android Studio project R can't find
Key Points to remember while develop the Android Application.
What is Intent? What is the difference between an implicit intent and an explicit intent?
Symmetric vs Asymmetric Encryption in Android Server - RRutors
How to get a contact image using a phone number in android?
What is the Different Between val and var in Kotlin?
How to save activity State in Android?
Fix Duplicate Files in APK Build.gradle Issue - RRutors
Fix Behavior Subclass BottomSheetBehavior Exception - RRutors
Emulator: emulator: ERROR: Can't find 'Linux version ' string in kernel image file: Andr
How to check Android version?
How to stop EditText focus at Activity startup in Android?
How to Generate signed apk with android studio
INSTALL_FAILED_INVALID_APK: Split lib_slice_9_apk was defined multiple times. It is possible that th
How can i comment inside xml file in android studio?
What is ANR in android?
Check List for Generate Signed APK Android
How to get screen size (width,height) in Android?
Open PDF in Google Drive with Intent in Android - RRutors