前段时间android应用开发遇到的问题
由于android是自己现学现卖,每次都会遇到新问题,做个记号,减少下次遇到问题时,重新查找一边的痛苦。
1.]Unable to get view server version from device
只能是模拟器生效
2.屏幕宽度减去间距margin后,图片FitXy被拉伸 this.g = (localResources.getDisplayMetrics().widthPixels - localResources.getDimensionPixelOffset(R.dimen.list_large_image_padding));
查了很久发现宽度由于9.png的原因增加了40px,需要减掉。用9.png工具查看一个方格1px
3.虽然删掉了文件,但是文件没关闭,所以不能再新建文件,也就是内核文件未释放。文件操作完需要close掉。
4.SkImageDecoder::Factory returned null流不能二次操作。
于是看明白了,第一次取图片尺寸的时候is这个InputStream被使用过了,再真正取图片的时候又使用了这个InputStream,此时流的起始位置已经被移动过了,需要调用is.reset()来重置,然后再decodeStream(imgInputStream, null, options)就没问题了。
但是注意一个问题,is.mark(1024)是SDK中写死的,如果图片的大小超过1024字节,第一次decode取尺寸之后调用is.reset()会抛出IOException,所以建议使用BitmapFactory的其他decode方法,如果是网络读过来的流,最好在本地存成文件缓存,然后通过decodeFileDescriptor方法就没这种问题了。
5.
Uncaught exception thrown by finalizer
Could not find class 'org.apache.commons.httpclient.HttpClient'
android.app.Application cannot be cast to
Unable to execute dex: Multiple dex files define Landroi
在打包的过程中可能会出现这样的问题,原因是有重复的。jar被引用,可以查看你的build path,尤其是Android Dependencies一定有重复引入的.jar包,解决的方法是在libs删除重复的jar即可。
6.
Package cc.gxtp.ui has no certificates at entry res/anim/loading.xml; ignoring!
没有签名