Android开发:问题集锦——SurfaceView, Canvas报错问题

近况:成立了一家外包公司,由于项目太多一直忙公司项目。没时间更新。

正题:

       场景介绍:音频项目绘制波形,时域,时频,频域功能。此项目是分析音频功能,主要是根据麦克风或者扬声器的声音进行绘制。

       报错:测试机型大概50多个手机,出现问题的手机有vivos9,一加系列。报错Anr keyDispatching TimedOut 。网上找了很多关于ANR 的解决办法都不行,写的啥也不是,基本都是一样的,介绍ANR没有给出有用的解决方案。

       过程介绍:Anr keyDispatching TimedOut是由于有耗时操作设备无响应曹成的,只能说报错的手机CPU真的很垃圾,还是最新的手机型号呢,还不如华为1000的手机呢。

                        经过一点点尝试发现屏蔽波形图表后无异常,证明问题出在波形绘制上,波形是自定义的view继承的surfaceview,里面有draw方法,屏蔽后也是会无异常,所以就是在draw的时候出错,这个时候应该需要开启硬件加速,网上很多方案都是介绍的四种                            开启硬件加速的方法。对于我的这个问题不适用。

       解决方案: 第一步:在mainface里面,application标签下开启硬件加速

                                

                         第二步:

                        

 

                               这样就可以使canvas开启加速了。这样就可以解决波形造成问题

 

结语:外包公司,希望各位多多支持,承接小程序,网页,APP开发,希望可以合作 ,价格优美,联系方式:扣扣:1433221589   备注博客园有优惠

 

posted @ 2022-11-06 04:20  沫髯小乐  阅读(31)  评论(0编辑  收藏  举报