更新可能更改新活动中的位图大小可能会解决问题
String myRef = this.getIntent().getStringExtra("filepath");
File imgFile = new File(myRef);
Log.e("BeatEmUp", myRef);
if(imgFile.exists()){
Bitmap myBitmap = BitmapFactory.decodeFile(imgFile.getAbsolutePath());
ImageView myImage = (ImageView) findViewById(R.id.imagepunch);
myImage.setImageBitmap(myBitmap);
}
Run Code Online (Sandbox Code Playgroud)
这样的事可能吗?
Bitmap scaled = Bitmap.createScaledBitmap(bit, 200, 200, true);
或者这可能是下面最好的方式
到目前为止,我有我的应用程序正在拍照,然后使用一个Intent携带图片并显示在一个新的Activity.一旦我完成了这个,我有一些代码,用顶部显示图像onClick.问题是,当拍摄图像时,我认为这是我的应用程序强行关闭.
在我的logcat中java.lang.OutOfMemoryError: bitmap size exceeds VM budget(Heap Size=7431KB, Allocated=2956KB, Bitmap Size=19764KB),我认为这意味着图像太大了.
我已经通过在代码中放置一个较小的图像而不是拍摄的相机图像进行测试,这也使我回到问题,即它是相机图片的大小.
所以我试图实现This From CommonsWare但到目前为止没有运气.仔细查看代码,我认为它会搜索最小的resouloution/size,然后使用这些设置拍摄相机我正确地想到了这一点,如果是这样,我怎样才能将其实现到我的代码中?
public class AndroidCamera extends Activity implements SurfaceHolder.Callback{
Camera camera;
SurfaceView surfaceView;
SurfaceHolder surfaceHolder;
boolean previewing = false;
LayoutInflater controlInflater = null;
final …Run Code Online (Sandbox Code Playgroud) 谷歌Goggles应用程序自动聚焦比我的Nexus 4(和我试过的其他手机/平板电脑)上的默认相机应用程序要好得多.事实上,它做得很好,我认为他们做软件.
有谁知道Goggles应用程序如何进行自动对焦或如何进行软件操作?