Android系统疑难问题解决
文章平均质量分 84
1. Android系统疑难问题解决。
2. 整理,总结工作中遇到的比较典型的疑难问题。
3. tombston等稳定性问题。
4. android内存优化。
5. android性能问题,图形方向。
IT生活课堂
这个作者很懒,什么都没留下…
展开
-
Android Camera close异常导致app的input ANR案例分析
根据anr类型,我们可以知道,这个input event在anr发生的前5s触发,但是app一直没有响应,也就是app卡了5s,那么我们接下来要看anr发生时间点的前5s app在忙什么事情,我们可以通过pid=8838搜log,找到相关信息。如果超时不处理,就会发生ANR。从anr trace首先可以确定anr 发现的pid和process name,并能够找到anr dump的时间点,一般来说anr dump的时间点就是anr发生之后的时间点,与anr发生的时间点比较接近。原创 2024-08-05 16:42:02 · 974 阅读 · 0 评论 -
Android app LocationManager.registerGnssStatusCallback(), 系统却没有回调onSatelliteStatusChanged(续集)
分析到这里,我们终于明白了,LocationManager的registerGnssStatusCallback的返回值,并没有接收LocationManagerService的registerGnssStatusCallback的返回值,而是默认返回的true。所以上集中解决方案有问题。Android Framework提供的很多binder接口都是有返回值的,app在使用这些binder接口的时候,要充分利用这些返回值,不能简单的认为,调用了框架接口,就一定能成功。原创 2024-08-02 10:35:28 · 410 阅读 · 0 评论 -
Android app LocationManager.registerGnssStatusCallback(), 系统却没有回调onSatelliteStatusChanged
(3)通过log发现app注册gnss status callback的时间很早,在initializeGnss—mGnssManagerService初始化时间点之前,因为这个时间点mGnssManagerService还未初始化,导致初始化失败。Android Framework提供的很多binder接口都是有返回值的,app在使用这些binder接口的时候,要充分利用这些返回值,不能简单的认为,调用了框架接口,就一定能成功。原创 2024-07-29 16:53:55 · 960 阅读 · 0 评论 -
Android BinderProxy leak 原理分析
在结合压测的log,我们发现在压测的时候,有app会非常频繁的show toast。从目前的分析来看,还是因为压力测试,由于频繁使用binder调用,导致BinderProxy数据急剧增加,而GC又有滞后性,当Free RAM足够大的时候,GC的频率会降低,最终导致BinderProxy数量操过了系统的限制。说明问题点不在这里,通过上面的set方法,我们能够看到,当BinderProxy 的size操过20000之后,会有dump信息打印,接下来我们看看能不能通过dump信息看出什么端倪。原创 2024-07-31 19:03:58 · 1475 阅读 · 0 评论