Android问题新增

循环 I/Timeline: Timeline: Activity_launch_request time:6510612

今天,写一个蓝牙项目我出了bug,onResume不停的被调用,注释掉了一处未执行的跳转判断和一处权限判断,停止了
然后看包的所有log发现了下面这条:
I/Timeline: Timeline: Activity_launch_request time:6510612
和onResume的刷新频度一致,百度一下收获了一篇名为“Android While 循环导致的资源占用过高进而导致程序崩溃问题”的帖子,up是因为写了太多的while循环导致的,我想了一会发现这句话的要点在于“资源占用过高”
小米4的测试机装了之后卡顿,然后我将排查方向放在了onResume的一个判断里面
if (mBluetoothAdapter == null || mBluetoothAdapter?.isEnabled()!!) {
val enableBtIntent = Intent(BluetoothAdapter.ACTION_REQUEST_ENABLE)
startActivityForResult(enableBtIntent, REQUEST_ENABLE_BT)
}
打印log后发现因为蓝牙开启mBluetoothAdapter?.isEnabled()=true走了startActivityForResult造成了onResume的触发,构成了死循环

调试出SecurityException

看看后面跟这一串大写,八成是没有获得到权限,api23以上的动态获取吧

Vollery RequestQueue 多次创建

在使用时多次创建了RequestQueue mQueue,结果不断出现Background sticky concurrent mark sweep GC freed 278948(12MB)最终OutOfMemoryError
修改为单例模式,只用application的context创建一个RequestQueue

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值