应用在个别手机崩溃,没看懂原因 功能是拍照上传,每拍一张就在sd卡读取,上传,然后记录返回的id,并把原图显示到app里。每次都是第三张的时候,app就崩溃。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用Luban把图片压缩一下 你这是内存溢出了,这需要你压缩你的图片。通过Bitmap.createScaledBitmap(bitmap , width, height, true)方法能够得到指定高宽的Bitmap 。当然你也可以在网上查阅是否有更优的压缩方法 内存溢出,压缩一下就好。private String fileName= "/sdcard/DCIM/Camera/XXXXX.jpg";//路径BitmapFactory.Options options = new BitmapFactory.Options(); options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一 Bitmap b = BitmapFactory.decodeFile(fileName, options); Luban压缩 我给你推荐一个 图片选择 和拍照 库吧 有压缩 和裁剪功能 PictureSelector 百度一下 看他的用法 如果帮到了你希望给分哦 Android大佬 加载图片的问题,溢出了,不要直接set 图片太大了 用第三方框架压缩一下图片加载 或者用Glide框架加载 不要直接setBackground() 要么把图片压缩之后展示,要么去Manifest申请更大的内存 java中常见的内存溢出问题。图片资源没有及时释放,或者就是手机性能实在太差,可以忽略该机型适配。 AndroidManifest.xml文件中的 <application .......... android:largeHeap="true" .......... >log已经说的很清楚了:由于图片过大,没有足够的内存加载,所以对图片压缩等操作是没办法解决BUG的,加载不了图片,哪来后面的图片压缩。最好的办法是向系统申请更大内存:android:largeHeap="true"。还有bitmap资源要及时释放,否则容易造成内存泄漏。但是你的log提示是由于图片过大,没有足够的内存加载。 不建议用楼上(21楼)这种方法,给app申请了更大的内存会使得你的app开着的时候会占用更多内存的.系统分配给app的内存是随着系统版本提高而增加的,现在都到8.0了,如果还OOM的话,多数是自己的代码问题.图片太大,现在都已经不需要自己写什么弱引用来处理了.建议用glide或picasso之类的第三方库来处理图片的显示.这样就可以尽量避免OOM了,他们会自动处理图片回收释放的问题.不过估计楼主是新手,最好还是了解一下图片为什么会OOM的原理,对以后开发有用. 关于ksoap使用问题 急求 android键盘出现时输入框缩小,键盘掩藏时输入框充满整个屏幕 我想实现一个功能,大家来给个意见。 问个android调试问题。。 照片加时间戳 android本地api文档打不开是几个意思,官网也老是打不开,有木有大神知道 Eclipse里如何导入别人的android项目 使用ant编译android工程遇到的问题 android系统目录是在哪个文件里创建的 android 然后跳转activity 后返回保留原来的ListView数据 android7.1 NTFS 支持 Android 新手求教监听器问题
能够得到指定高宽的Bitmap 。当然你也可以在网上查阅是否有更优的压缩方法
private String fileName= "/sdcard/DCIM/Camera/XXXXX.jpg";//路径
BitmapFactory.Options options = new BitmapFactory.Options();
options.inSampleSize = 2;//图片宽高都为原来的二分之一,即图片为原来的四分之一
Bitmap b = BitmapFactory.decodeFile(fileName, options);
图片资源没有及时释放,或者就是手机性能实在太差,可以忽略该机型适配。
..........
android:largeHeap="true"
..........
>
log已经说的很清楚了:由于图片过大,没有足够的内存加载,所以对图片压缩等操作是没办法解决BUG的,加载不了图片,哪来后面的图片压缩。
最好的办法是向系统申请更大内存:android:largeHeap="true"。还有bitmap资源要及时释放,否则容易造成内存泄漏。但是你的log提示是由于图片过大,没有足够的内存加载。