com.android.camera进程不被销毁

问题描述:

我想捕获一个图像与android.provider.MediaStore.ACTION_IMAGE_CAPTURE和事情似乎工作正常,唯一的问题是,该进程com.android.camera在返回后不会被破坏,并且会干扰其他应用程序的运行。com.android.camera进程不被销毁

所以我想知道为什么它没有被销毁,并且一旦捕获完成后我如何销毁它?谢谢任何帮助,将不胜感激。

这里是我的代码:

private OnClickListener buttonCaptureListener = new OnClickListener(){ 
    public void onClick(View v){ 
     String path = Environment.getExternalStorageDirectory() + "/"+Long.toHexString(System.currentTimeMillis())+".jpg"; 
     File file = new File(path); 
     Uri outputFileUri = Uri.fromFile(file); 

     Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
     startActivityForResult(intent,SelectImagesActivity.REQUEST_CAPTURE);     
    } 
}; 

结果处理:

@Override 
protected void onActivityResult(int requestCode, int resultCode, Intent data) { 
    super.onActivityResult(requestCode, resultCode, data); 
    if(requestCode == SelectImagesActivity.REQUEST_CAPTURE){ 
     if(resultCode == RESULT_OK){ 
      // display image and etc. 
     } 
    } 
} 
+0

这很正常,只要系统具有足够的资源,android就会让应用程序在后台运行。当系统需要记忆时,它们最终会被杀死。一般来说不应该是一个问题。究竟是什么问题 - 这是如何干扰你的应用程序? – 2011-12-01 01:23:20

+0

我捕获/选择图像后,他们被处理(意思是调整大小,不是什么),然后上传似乎正在发生的事情是处理正在显着减慢与此过程运行,我手动销毁它在DDMS后,一切都回到正常。 –

+0

我似乎无法再重现该问题了。我没有改变任何东西,但问题似乎没有了。 –

我也认为这是过程不是立即销毁正常动作。

我建议下面的代码明确的含义。
这是不同的,追加额外的数据 - ('返回数据',真) - 意图。

private OnClickListener buttonCaptureListener = new OnClickListener(){ 
    public void onClick(View v){ 
     String path = Environment.getExternalStorageDirectory(); 
     String file_name = Long.toHexString(System.currentTimeMillis())+".jpg"; 
     File file = new File(path , file_name); 
     Uri outputFileUri = Uri.fromFile(file); 

     Intent intent = new Intent(android.provider.MediaStore.ACTION_IMAGE_CAPTURE); 
     intent.putExtra(MediaStore.EXTRA_OUTPUT, outputFileUri); 
     intent.putExtra("return-data", true); 
     startActivityForResult(intent,SelectImagesActivity.REQUEST_CAPTURE);     
    } 
+0

刚刚尝试过,它不会杀死进程。 –