2024年Google App ANR 优化案例(2),多亏这份《秋招+金九银十-腾讯面试题合集》跳槽薪资翻倍

img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以戳这里获取


git 修改记录

二、开机向导时 Calendar 概率 ANR

=======================

1.ANR Log 如下:


Calendar ANR log

2.ANR 规避方案如下:


主要原因是 android.intent.action.LOCALE_CHANGED 广播接收超时导致的ANR。

3.修改方案


请参考修改一

三、 开机向导时,ANR 弹框不show的解决方案

=========================

刷机或者恢复出厂设置是,开机向导过程中不应该显示ANR

修改文件路径如下:

frameworks/base/services/core/java/com/android/server/am/AppErrors.java

修改AppErrors 类中 handleShowAnrUi方法,控制在开机向导时ANR弹窗。


class AppErrors {

        ... ...

        void handleShowAppErrorUi(Message msg) {

                             ... ... 

                // If we've created a crash dialog, show it without the lock held

        

                if (d != null) {

                    int deviceProvisioned = Settings.Global.getInt(mContext.getContentResolver(), Settings.Global.DEVICE_PROVISIONED,0);

                        if(proc.userId == 0){

                            if(deviceProvisioned == 0 && !proc.processName.equals("com.google.android.setupwizard")){

                       

                               mService.killAppAtUsersRequest(proc, null);

                            }else{

                             d.show();

                           }

                        } else {

                          d.show();

                        }

                }

            ... ...

        }

        ... ...

}



1. git 解决方案


git 修改差别的

四、开机向导时 Google Music 概率 ANR

===========================

开机向导时候 接收android.intent.action.LOCALE_CHANGED 广播超时导致的ANR。

1.ANR Log 如下:


ANR Log

2. 修改方案


请参考修改一

五、开机向导时 Google Play Store 概率 ANR

================================

开机向导时候 接收android.intent.action.LOCALE_CHANGED 广播超时导致的ANR。

1.ANR Log 如下:


ANR Log

2.ANR 规避方案如下:


请参考修改一

六、Google play Store 下载apk 概率性闪退

===============================

低内存情况下,使用play Store下载多个apkPlaystore 概率性ANR。

闪退 Log 信息

Google Play Store 被kill Log信息

1.解决闪退问题方法


ActivityManagerService中的applyOomAdjLocked方法中修改adj值,防止apk 低内存情况下被杀掉。

修改类如下:frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java


public class ActivityManagerService extends IActivityManager.Stub

        implements Watchdog.Monitor, BatteryStatsImpl.BatteryCallback {

        ... ...

        protected boolean applyOomAdjLocked(ProcessRecord app, boolean doingAll, long now,

            long nowElapsed) {

              ... ...

            // add by  for google play store was killed in sometime 

            if(app.curAdj>3){

                if( app.processName.equals("com.android.vending") ||app.processName.equals("com.google.android.gms")){

                    app.curAdj = 3;

                }

            } 


![img](https://img-blog.csdnimg.cn/img_convert/7ad9b8980a27bafbce9e632255a5ddba.png)
![img](https://img-blog.csdnimg.cn/img_convert/cc3c6e3db35b2eb27dff0f997a2fdf74.png)
![img](https://img-blog.csdnimg.cn/img_convert/560be7a81108985143bf0825235e2840.png)

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**

.(img-3bzEcktF-1715364753797)]
[外链图片转存中...(img-UCFGpsv1-1715364753797)]

**既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上Go语言开发知识点,真正体系化!**

**由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**

**[如果你需要这些资料,可以戳这里获取](https://bbs.csdn.net/topics/618658159)**

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值