Android Studio 代码找错

来源:互联网 发布:java程序员前景怎么样 编辑:程序博客网 时间:2024/05/02 02:43

哇,好不容易写了一个Android触摸效果的代码,然后就这样了  这个是真的难受!仅仅讲一下我改错的历程。。

一开始没有经验,就像无头苍蝇一样各种看代码,从Activity_main.xml,MainActivity.java,再到自定义view组件一个个找哪里错了,发现根本没有哪里错了啊!代码根本没有什么红色的,所以排除了语法错误。。接下来干什么呢?


那我就看一下android studio最下面的运行栏,不过我看的是EventLogs,根本没有什么作用这玩意儿!



在我一通乱找终于被我翻到了有用的地方了!就是这2处的LogCat,直接将一处下拉到ERROR处,发现了一片红。。



然后这些红色的ERROR我也看了好久,不知道从哪里下手找根源上的错误==最后我发现翻到最上面,原来这个圈出来的FATAL EXCEPTION  是严重异常的意思。。往下看,那错误就在黄色荧光处了。。。

Immutable bitmap passed to Canvas constructor  翻译了一下是这个意思:传递给canvas的构造函数不可变位图

然后我又点了一下那个ERROR里面特别明显的蓝色标记,结果转到了


百思不得其解,于是乎果断百度






被我找到了一篇文章  文章来自点击打开链接

上面说了  当我用了画布Canvas canvas=new Canvas(o_bitmap)时缺少一句话就会报错!很奇怪

于是我把原先这句调用位图的话,转变成了下下面的样子竟然就可以用了!


查找了一下原因:

错误的原因是如果不用copy的方法,直接引用会对资源文件进行修改,而android是不允许在代码里修改R.id.XX文件里的图片

其他代码的意思是:

BitmapFactory.decodeResource returns a Bitmap,

Bitmap.copy creates a mutable copy of the image using the option specified.

然后ARGB_8888——代表32位ARGB位图 就是这个意思了


最后成功了还是蛮开心的。。至少知道LogCat这个神奇的东西了,感觉以后debug更开心了==


原创粉丝点击