[FAQ09104]进入应用界面后发现会闪屏,此时要如何定位是否是relaunch activity引起的闪屏呢
来源:互联网 发布:常用udp端口 编辑:程序博客网 时间:2024/04/28 02:34
进入应用界面后发现会闪屏,此时要如何定位是否是relaunch activity引起的闪屏呢?
1 对于这类问题,抓取log时记得要打开AMS的log开关:
adb shell dumpsys activity log a on
2 请在main log里搜索Relaunching关键字,看下这个Activity是否有被Relaunching,如果是,那么闪屏就是这个原因了。
3 确定是Relaunching造成的问题后,要如何进一步定位问题呢?
AMS会relaunching activity的原因是:
config发生变化,而activity没有监听对应的config,AMS就会relaunch这个activity,现象上来讲就是屏幕会闪。
我们可以从log里查看下是哪些config发生了变化,然后请app端监听这个config,重写onConfiguartionChanged这个函数来处理config的变化。那么AMS就不会去relaunch这个activity了。
Apk监听config的方法为:
在apk的androidManifest.xml里设定
<android:configChanges=“layout_direction|locale|….”>
对于检查是哪些config发生变化,可以看main log。
举例:
V ActivityManager: Checking to restart yuku.perekammp3.ac.DaftarActivity: changed=0x2004, handles=0x4a4, newConfig={1.0 460mcc2mnc zh_CN ldltr sw320dp w320dp h508dp 240dpi nrml long port finger -keyb/v/h dpad/v skin=/system/framework/framework-res.apk s.11}
请注意红色字体:changed=0x2004
这个changed的值可以在ActivityInfo.java中查询,具体是CONFIG_开头的值。表示的含义就是当前这些config发生了变化。
比如0x2004就是CONFIG_LOCALE|CONFIG_LAYOUT_DIRECTION
注:
1 apk可以监听的config,请查询google的说明文档或者configuration class里的定义
Google的说明文档:
http://developer.android.com/guide/topics/manifest/activity-element.html
2 闪屏有很多原因,这里描述的只是一种。即AMS Relaunch Activity造成的闪屏。
- [FAQ09104]进入应用界面后发现会闪屏,此时要如何定位是否是relaunch activity引起的闪屏呢
- 此时桶装水是否应该进入?
- OpenScenceGraph 中文乱码错误,仔细排查后发现是文件保存编码引起的
- session失效,使用ajax请求数据被拦截,此时正常的处理逻辑是跳到登录界面,而不是界面没有变化(java判断是否是ajax请求)
- 【错误2】启动后,一闪而过,或者进入安装主界面后也是一闪而过,非兼容性引起
- Android 如何在任意界面按某个预设定的硬体按键进入某个Activity?
- 如何在任意界面按某个预设定的硬体按键进入某个Activity
- Android---进入APP后的广告界面
- 如何退出当前所有activity,重新进入loginActivity界面
- 如何判断应用是否允许开启定位
- 【浅谈路由器设置界面要如何进入的方法】
- swift 进入后台或者点击home键是程序进入后台后,持续定位
- 关于打开安装好的应用后,按home返回桌面再进入应用会重复进入应用初始界面的问题?
- Android 仿微信的应用进入界面
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- 关于Android app首次安装完成后在安装界面直接“打开”应用再按home键返回桌面,重新进入app重复实例化launcher activity的问题的解决
- iptables的配置
- Qt中GraphicsView/GraphicsScene加载osg时场景瞬移。。。
- C++
- 在java中,要想跳出多重循环
- 池
- [FAQ09104]进入应用界面后发现会闪屏,此时要如何定位是否是relaunch activity引起的闪屏呢
- 【原创】Linux 系统移植日志----登录账户,密码配置
- Windows 2003上安装配置SVN服务器及客户端 结合别人的文章以及自己实践整理
- MyBaseAdapter
- P124第49题 数学函数
- Java发送邮件
- linux strace 工具的使用
- Chapter11. Objective-C learning note 4. 自定义构造方法和description方法
- Oracle 闪回特性(FLASHBACK DROP & RECYCLEBIN)