Android 内存优化 - OnTrimMemory优化

Android系统会根据不同等级的内存使用情况,调用这个函数,并传入对应的等级.

当你的应用程序UI不可见的时候,你应当清除部分缓存 以减少内存的使用使得降低进程被杀几率.

public class TestActivity extends Activity{
        @Override
        public void onTrimMemory(int level) {
            super.onTrimMemory(level);
            Log.w(TAG,"=======> onTrimMemory, level=" + level + "=>" + printLevel(level), LogLevel.RELEASE);
        }
    
        private String printLevel(int level) {
            String desc ;
            switch (level) {
                case TRIM_MEMORY_COMPLETE://80
                    desc = "进程在LRU尾部,如果没有足够的内存, 将很快被杀死";
                    break;
                case TRIM_MEMORY_MODERATE://60
                    desc = "进程在LRU中部,如果系统进一步需要内存, 可能会被杀死";
                    break;
                case TRIM_MEMORY_BACKGROUND://40
                    desc = "进程在LRU头部,虽然本进程不会被高优杀死, 但系统已经开始准备杀死LRU列表中的其他进程";
                    break;
                case TRIM_MEMORY_UI_HIDDEN://20
                    desc = "界面不可见,建议释放UI资源";
                    break;
                case TRIM_MEMORY_RUNNING_CRITICAL://15
                    desc = "虽然进程不会被高优杀死, 但系统已经开始准备杀死LRU列表中的其他进程,应该释放无用资源以防止性能下降";
                    break;
                case TRIM_MEMORY_RUNNING_LOW://10
                    desc = "虽然进程不会被高优杀死, 但系统已经开始准备杀死LRU列表中的其他进程,应该释放不必要的资源来提供系统性能";
                    break;
                case TRIM_MEMORY_RUNNING_MODERATE://5
                    desc = "系统已经进入了低内存的状态,进程正在运行但是不会被杀死";
                    break;
                default:
                    desc = "";
            }
            return desc;
        }
}
        

Guess you like

Origin blog.csdn.net/qq_39731011/article/details/120532552