java读取手机崩溃日志_[悬赏]求java程序员帮我看一下,安卓手机系统崩溃日志,为什么老是卡死...

base64解密,可以看到关键错误:

signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000018

#00  pc 0x719c0  /system/lib/libstagefright.so (???)

#01  pc 0xa020b  /system/lib/libstagefright.so (???)

#02  pc 0x9ffe3  /system/lib/libstagefright.so (android::MediaCodec::~MediaCodec()+138)

#03  pc 0xa027d  /system/lib/libstagefright.so (android::MediaCodec::~MediaCodec()+4)

#04  pc 0xe7c7  /system/lib/libutils.so (android::RefBase::decStrong(void const*) const+50)

#05  pc 0xa1577  /system/lib/libstagefright.so (android::MediaCodec::renderOutputBufferAndRelease(unsigned int)+66)

#06  pc 0x1d5e1  /system/lib/libmedia_jni.so (???)

#07  pc 0xbcae75  /system/framework/arm/boot.oat (???)

关键在libstagefright.so这个so出错,定位到android::MediaCodec::renderOutputBufferAndRelease(unsigned int)+66

该函数是用于设置视频渲染

status_t MediaCodec::renderOutputBufferAndRelease(size_t index, int64_t timestampNs) {

sp msg = new AMessage(kWhatReleaseOutputBuffer, this);//发送消息

msg->setSize("index", index);

msg->setInt32("render", true);//设置是否渲染

msg->setInt64("timestampNs", timestampNs);//timestampNs

sp response;

return PostAndAwaitResponse(msg, &response);

}

再找到函数

// static

status_tMediaCodec::PostAndAwaitResponse(const sp&msg, sp*response){

status_t err = msg->postAndAwaitResponse(response);

if(err != OK){

return err;

}

if(!(*response)->findInt32("err",&err)){

err = OK;

}

return err;

}

定位到错误,但是由于没有更多信息以及没有真机继续调试,这边只能通过崩溃大概率猜测,可能是因为判断视频渲染问题,因为常常卡死嘛,也有可能是选择了软件渲染,导致CPU占用过多,是不是可以在手机里设置硬件加速之类的……

以上,大多都是猜测,也可能完全不对……具体实验和调试还是需要楼主自己看吧

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值