草庐IT

Android 位图加载内存不足错误 Galaxy S3 WXGA

如果有人能确认我已正确解决了以下问题或是否有替代解决方案,我将不胜感激?我有一个应用程序可以将大图像(例如800*1720像素)加载到内存中并在ScrollView中显示。该图像是博物馆的平面图,我想要一个简单的map,例如滚动和缩放的体验。该图像在旧设备上加载良好,但在三星GalaxyS3上导致内存不足错误。查看LogCat消息后发现,在创建位图时,为位图分配了22MB,而不是800*1720*4=5.5MB。基本上分配了4倍于其他设备所需的内存,并将内存使用量推高到50MB堆大小之上。此问题的推荐解决方案是使用BitmapFactory.Options.inSampleSize选项

Android 位图加载内存不足错误 Galaxy S3 WXGA

如果有人能确认我已正确解决了以下问题或是否有替代解决方案,我将不胜感激?我有一个应用程序可以将大图像(例如800*1720像素)加载到内存中并在ScrollView中显示。该图像是博物馆的平面图,我想要一个简单的map,例如滚动和缩放的体验。该图像在旧设备上加载良好,但在三星GalaxyS3上导致内存不足错误。查看LogCat消息后发现,在创建位图时,为位图分配了22MB,而不是800*1720*4=5.5MB。基本上分配了4倍于其他设备所需的内存,并将内存使用量推高到50MB堆大小之上。此问题的推荐解决方案是使用BitmapFactory.Options.inSampleSize选项

android - 将资源加载到可变位图

我正在从这样的资源中加载位图:BitmapmBackground=BitmapFactory.decodeResource(res,R.drawable.image);我想要做的是在位图被我的draw方法绘制到主Canvas之前对位图进行一些更改(因为在我的主循环中重复大量绘图似乎很浪费它不会改变)。我正在使用以下内容对位图进行更改:Canvasc=newCanvas(mBackground);c.drawARGB(...);//etc所以我自然会遇到异常java.lang.IllegalStateException:ImmutablebitmappassedtoCanvasconst

android - 将资源加载到可变位图

我正在从这样的资源中加载位图:BitmapmBackground=BitmapFactory.decodeResource(res,R.drawable.image);我想要做的是在位图被我的draw方法绘制到主Canvas之前对位图进行一些更改(因为在我的主循环中重复大量绘图似乎很浪费它不会改变)。我正在使用以下内容对位图进行更改:Canvasc=newCanvas(mBackground);c.drawARGB(...);//etc所以我自然会遇到异常java.lang.IllegalStateException:ImmutablebitmappassedtoCanvasconst

android - 如何将位图设置为从相机捕获的 main.xml 中的 ImageView?

我在main.xml中有一个Imageview,如何将位图设置为main.xml中的imageView我可以在下面的代码中将位图分配给本地镜像View。//ActivatestheCameraIntentintent=newIntent("android.media.action.IMAGE_CAPTURE");startActivityForResult(intent,1);//getthebitmapdatafromtheCameraBundleextras=data.getExtras();Bitmapb=(Bitmap)extras.get("data");intwidth=b

android - 如何将位图设置为从相机捕获的 main.xml 中的 ImageView?

我在main.xml中有一个Imageview,如何将位图设置为main.xml中的imageView我可以在下面的代码中将位图分配给本地镜像View。//ActivatestheCameraIntentintent=newIntent("android.media.action.IMAGE_CAPTURE");startActivityForResult(intent,1);//getthebitmapdatafromtheCameraBundleextras=data.getExtras();Bitmapb=(Bitmap)extras.get("data");intwidth=b

android - 通过 Android Intent 共享位图

在我的android应用程序中,我有一个位图(比如b)和一个按钮。现在,当我单击按钮时,我想共享位图。我正在使用onClick()中的以下代码来实现这一点:-Intentintent=newIntent(Intent.ACTION_SEND);intent.setType("image/png");intent.putExtra(Intent.EXTRA_STREAM,b);startActivity(Intent.createChooser(intent,"Share"));我期待能够处理此Intent的所有应用程序的列表,但我什么也没得到。androidstudio中没有应用列表,

android - 通过 Android Intent 共享位图

在我的android应用程序中,我有一个位图(比如b)和一个按钮。现在,当我单击按钮时,我想共享位图。我正在使用onClick()中的以下代码来实现这一点:-Intentintent=newIntent(Intent.ACTION_SEND);intent.setType("image/png");intent.putExtra(Intent.EXTRA_STREAM,b);startActivity(Intent.createChooser(intent,"Share"));我期待能够处理此Intent的所有应用程序的列表,但我什么也没得到。androidstudio中没有应用列表,

android - 由 : java. lang.OutOfMemoryError 引起:位图大小超出 VM 预算

在我的应用程序中,当我尝试启动它时强制关闭并且错误指向“setContentView(R.layout.Menu);”行的布局。在XML文件中,它在我的布局中显示“OutOfMemoryError”ImageView。我真的很困惑。请指导我进一步行动。已编辑:我的应用程序使用数据库,并在第一次解析一些XML数据并插入到Sqlite数据库中。我的内存不足问题仅在第一次出现。第二次它工作正常。我试过System.gc()。有什么问题吗?这是我的日志:E/dalvikvm-heap(2712):105376-byteexternalallocationtoolargeforthisproce

android - 由 : java. lang.OutOfMemoryError 引起:位图大小超出 VM 预算

在我的应用程序中,当我尝试启动它时强制关闭并且错误指向“setContentView(R.layout.Menu);”行的布局。在XML文件中,它在我的布局中显示“OutOfMemoryError”ImageView。我真的很困惑。请指导我进一步行动。已编辑:我的应用程序使用数据库,并在第一次解析一些XML数据并插入到Sqlite数据库中。我的内存不足问题仅在第一次出现。第二次它工作正常。我试过System.gc()。有什么问题吗?这是我的日志:E/dalvikvm-heap(2712):105376-byteexternalallocationtoolargeforthisproce