package com.example.appsizeoptimization
import android.os.Bundle
import android.widget.Button
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val optimizeButton: Button = findViewById(R.id.optimizeButton)
val statusText: TextView = findViewById(R.id.statusText)
optimizeButton.setOnClickListener {
statusText.text = "Optimization Complete"
}
}
}
/* build.gradle (Module: app) snippet:
android {
buildTypes {
release {
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
}
}
*/We added a click listener to the 'Optimize' button that changes the status text to 'Optimization Complete' when clicked. This simulates the user triggering an optimization action.
In the build.gradle file, enabling minifyEnabled and shrinkResources activates code shrinking and resource shrinking using R8 and ProGuard. This reduces the app size by removing unused code and resources.
Unused drawable resources should be removed from the project folder to avoid increasing app size unnecessarily.