Android开发:问题集锦——SurfaceView, Canvas报错问题
近况:成立了一家外包公司,由于项目太多一直忙公司项目。没时间更新。
正题:
场景介绍:音频项目绘制波形,时域,时频,频域功能。此项目是分析音频功能,主要是根据麦克风或者扬声器的声音进行绘制。
报错:测试机型大概50多个手机,出现问题的手机有vivos9,一加系列。报错Anr keyDispatching TimedOut 。网上找了很多关于ANR 的解决办法都不行,写的啥也不是,基本都是一样的,介绍ANR没有给出有用的解决方案。
过程介绍:Anr keyDispatching TimedOut是由于有耗时操作设备无响应曹成的,只能说报错的手机CPU真的很垃圾,还是最新的手机型号呢,还不如华为1000的手机呢。
经过一点点尝试发现屏蔽波形图表后无异常,证明问题出在波形绘制上,波形是自定义的view继承的surfaceview,里面有draw方法,屏蔽后也是会无异常,所以就是在draw的时候出错,这个时候应该需要开启硬件加速,网上很多方案都是介绍的四种 开启硬件加速的方法。对于我的这个问题不适用。
解决方案: 第一步:在mainface里面,application标签下开启硬件加速
第二步:
这样就可以使canvas开启加速了。这样就可以解决波形造成问题
结语:外包公司,希望各位多多支持,承接小程序,网页,APP开发,希望可以合作 ,价格优美,联系方式:扣扣:1433221589 备注博客园有优惠