- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的应用程序要求我拍照,而我运行时遇到问题的唯一设备是摩托罗拉 Razr。我已经在 Nexus One、Droid X、Droid 2、Sensation 和其他一些设备上尝试过。这是我正在使用的代码:
public class CameraView extends Activity {
private static final String TAG = "CameraView";
private SurfaceView preview=null;
private SurfaceHolder previewHolder=null;
public Camera camera=null;
private boolean inPreview=false;
private ImageView takePicture;
private Uri uriTarget;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.cameraview);
takePicture = (ImageView)findViewById(R.id.take_picture);
preview=(SurfaceView)findViewById(R.id.preview);
previewHolder=preview.getHolder();
previewHolder.addCallback(surfaceCallback);
previewHolder
.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);
if (savedInstanceState != null)
{
uriTarget = savedInstanceState.getParcelable("uriTarget");
}
preview.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
takePicture.setEnabled(false);
camera.autoFocus(myAutoFocusCallback);
}
});
takePicture.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
//camera.takePicture(null, null, photoCallback);
camera.takePicture(myShutterCallback,
myPictureCallback_RAW, myPictureCallback_JPG);
inPreview=false;
}
});
}
@Override
public void onResume() {
super.onResume();
try{
if (camera==null) {
camera=Camera.open();
camera.setDisplayOrientation(90);
Camera.Parameters params = camera.getParameters();
params.set("rotation", 90);
params.setJpegQuality(60);
//params.setPictureSize(32, 32);
camera.setParameters(params);
}
}catch (Exception e){
finish();
}
}
@Override
public void onPause() {
if (inPreview) {
camera.stopPreview();
}
if(camera != null)
camera.release();
camera=null;
inPreview=false;
super.onPause();
}
SurfaceHolder.Callback surfaceCallback=new SurfaceHolder.Callback() {
public void surfaceCreated(SurfaceHolder holder) {
try {
camera.setPreviewDisplay(previewHolder);
}
catch (Throwable t) {
Log.e("PictureDemo-surfaceCallback",
"Exception in setPreviewDisplay()", t);
Toast.makeText(CameraView.this, t.getMessage(),
Toast.LENGTH_LONG).show();
}
}
public void surfaceChanged(SurfaceHolder holder,
int format, int width, int height) {
Camera.Parameters parameters=camera.getParameters();
parameters.setPictureFormat(PixelFormat.JPEG);
parameters.setJpegQuality(60);
parameters.set("rotation", 90);
camera.setParameters(parameters);
camera.startPreview();
inPreview=true;
}
public void surfaceDestroyed(SurfaceHolder holder) {
// no-op
}
};
ShutterCallback myShutterCallback = new ShutterCallback(){
@Override
public void onShutter() {
}};
PictureCallback myPictureCallback_RAW = new PictureCallback(){
@Override
public void onPictureTaken(byte[] arg0, Camera arg1) {
}};
PictureCallback myPictureCallback_JPG = new PictureCallback(){
@Override
public void onPictureTaken(byte[] data, Camera camera1) {
Constants.car_image = BitmapFactory.decodeByteArray(data, 0, data.length);
Constants.showImage = true;
FileOutputStream outStream = null;
try {
File esd = Environment.getExternalStorageDirectory();
File newDirectory = new File(esd.getAbsolutePath() + "/DCIM/statefair/");
if(!newDirectory.exists())
newDirectory.mkdirs();
outStream = new FileOutputStream(esd.getAbsolutePath() + String.format(
"/DCIM/statefair/%d.jpg", System.currentTimeMillis()));
outStream.write(data);
outStream.close();
} catch (FileNotFoundException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
System.out.println("IO exception");
} finally {
System.out.println("Finally");
camera.release();
}
finish();
}
};
AutoFocusCallback myAutoFocusCallback = new AutoFocusCallback(){
@Override
public void onAutoFocus(boolean arg0, Camera arg1) {
// TODO Auto-generated method stub
takePicture.setEnabled(true);
}
};
protected void onSaveInstanceState(Bundle outState)
{
outState.putParcelable("uriTarget", uriTarget);
}
}
我在这一行遇到内存不足错误:
Constants.car_image = BitmapFactory.decodeByteArray(data, 0, data.length);
即使我将 JPEG 质量设置为 10。还有其他人遇到过这个问题吗?
最佳答案
全尺寸图像占用大量内存,您应该重新调整尺寸。只是为了快速测试,试试这个:
Options opts = new Options();
opts.inSampleSize = 4;
Constants.car_image = BitmapFactory.decodeByteArray(data, 0, data.length, opts);
关于android - 相机在摩托罗拉 Razr 上崩溃 - 内存不足,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11887260/
我已经在应用程序中集成了ACRA故障报告工具。许多拥有“RAZR i”的用户对启动问题表示歉意,但我无法在ACRA报告中识别出这种设备。你们中的有些人知道此设备使用哪种名称? 谢谢 最佳答案 这不是A
我的应用程序要求我拍照,而我运行时遇到问题的唯一设备是摩托罗拉 Razr。我已经在 Nexus One、Droid X、Droid 2、Sensation 和其他一些设备上尝试过。这是我正在使用的代码
我已经在各种手机上测试了我的应用程序。我的应用程序的主要功能是通过手机摄像头拍照和录制视频。我在大多数手机上都没有遇到问题,但我确实在 Motorola DROID RAZR 上遇到过这个问题。 .当
据我所知,Razr i 是目前唯一相关的基于英特尔的智能手机。 我们的应用程序使用通过 NDK 包含的 C++ 库。现在我想知道我是否需要添加 x86 支持才能让这个应用程序在 Razr i 上运行。
我正在不同的设备上测试我的应用程序,在摩托罗拉 Razr 上,图像较小并且布局不正确。 此设备的屏幕尺寸归类为正常。就像我正在测试的不同设备一样。 我将所有图像放在 5 个不同的可绘制文件夹中(dra
我正在为自己的手机开发,无意营销我的应用程序。有谁知道 Razr 是 h、m 还是 l 设备?我是一种部署到我的实际手机的方法。 最佳答案 Droid Razr 的分辨率为 960 x 540,对吗?
我已经为 android 2.3 开发了一个 UI。 UI 包含一个列表,以及屏幕底部的一些图标。 我用过@android:style/Theme.Holo.Light在 标签。 我已经在 Samsu
栈处女,请温柔点。 最近安装的带 ADT bundle 和 adb 的 Eclipse 找不到我的 USB 设备 (Motorola RAZR HD)。到目前为止,我已经完成了以下操作: adb ki
这是我的第一篇文章,所以如果我做错了什么或措辞有误,请让我知道,如果这篇文章比平常更长或更冗长,我很抱歉,我只是想提供一个良好的背景。同样,如果这不是正常格式,请告诉我,因为我想在未来更多地利用和贡献
我在 Windows 7 32 位上使用 Eclipse ADT 包。 我正在尝试在运行 android 4.4.2 kitkat 的手机 (Motorola Droid Razr Maxx hd)
启动 SMS 消息 Intent (编写预填充文本)不再适用于新的 Droid RAZR ICS 操作系统。还有其他方法可以完成这项任务吗? 我都试过了: Intent sendIntent =
我是一名优秀的程序员,十分优秀!