国光帮帮忙2016解答,啥意思😳

62330人阅读
thread(1)
android(13)
异常出现频率:非必现,乍看不可捉摸。
BUG导致:应用程序崩溃,过一小会儿会自动退出。
Fatal signal 11 (SIGSEGV) at 0x (code=1)
遇到这个问题很无奈,但是经过不断探索终于找到了问题的原因!!!
这个问题非常不给面子,居然在给上级演示程序的时候突然崩坏! 哭哭哭!!!NND看老子一会儿怎么治你!!!
这个是典型的多线程引起的问题,
我当时的应用场景是:
SurfaceView里面有一个Bitmap成员变量
而我们都知道SurfaceView里面的绘图方法是在一个新开的线程里面执行的,在这个绘图方法里,会执行把Bitmap绘制到Canvas上面的操作
当我点击一个按钮的时候,可能会改变Bitmap的引用,指向另外一张处理完成的图片,这个时候Bitmap这个成员变量会被我recycle(),释放掉。
问题就在这里了,我在recycle这个Bitmap的时候,也许Thread中正在执行把Bitmap绘制到Canvas上的操作,可能刚好正在执行当中,或者执行了一半,而GC毫不留情地把这个Bitmap请上了天堂,就这样,Java调用底层的API当中就突然发生了Error,因此这个问题才没有任何的Java异常提示。
解决问题的办法就是:
1. 在SurfaceView的按钮点击事件里用到Bitmap的地方改写代码:
Bitmap bmp =
synchronized(mBmp)
mBmp = filter(bmp);
if(bmp.isRecycled() == false)
bmp.recycle();
System.gc();
2. 在SurfaceView的Thread当中改写代码:
synchronized(mBmp)
canvas.drawBitmap(mBmp, mMatrix, null);
OK!烦恼不再!啤酒一杯~
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:303445次
积分:3694
积分:3694
排名:第6459名
原创:112篇
评论:61条
(1)(1)(2)(3)(1)(1)(3)(3)(2)(1)(1)(1)(4)(3)(5)(11)(9)(19)(15)(11)(1)(1)(1)(2)(1)(2)(1)(1)(1)(5)【携程攻略】暹粒用车租车服务,暹粒当地人,暹粒当地导游咨询/服务
香港:+852-
海外:+86-21-
&&&热门城市&暹粒向导
吴哥日出的神圣,伴着高棉的微笑持续千年,虔诚之心感受古都魅力。
入住日期:
退房日期:
航程类型:单程往返
出发日期:
返回日期:
景点名称:
类型:单程
出发日期:
热销门票排行
10-31 - 11-30
11-01 - 12-01
11-04 - 11-08
暹粒当地向导
当地向导频道商家推广合作联系方式:
温馨提示:此联系方式不提供机票预订和查询
暹粒旅游攻略指南? 携程攻略社区! 靠谱的旅游攻略平台,最佳的暹粒自助游、自由行、自驾游、跟团旅线路,海量暹粒旅游景点图片、游记、交通、美食、购物、住宿、娱乐、行程、指南等旅游攻略信息,了解更多暹粒旅游信息就来携程旅游攻略。 柬埔寨旅游攻略导航:
 |  |  |  |  |  |  |  |  |  
|  |  |  |  |  | 
 | | |  |  |  |  |  | , . All rights reserved. | 百度拇指医生
&&&普通咨询
您的网络环境存在异常,
请输入验证码
验证码输入错误,请重新输入}

我要回帖

更多关于 哥哥帮帮忙 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信