将图像存储到SD卡中?

时间:2013-04-22 07:29:33

标签: android

我使用波纹管代码捕获屏幕,然后将其存储在SD卡中并转到另一个活动。但是当我导航到另一个活动时非常慢。我可以解决它吗? 请有人帮帮我吗?

  View v1 = view.getRootView();    
   v1.setDrawingCacheEnabled(true);    
bitmapBcfhForm3 = v1.getDrawingCache();    
File imagesFolder = new File( Environment.getExternalStorageDirectory(), "Signatures");

            imagesFolder.mkdirs();    
            String fileName = "bitmapBcfhForm3"+AppointmentDetails.getPatientId+".png";
            File out = new File(imagesFolder,fileName);
            FileOutputStream mFileOutStream1 = new FileOutputStream(out);
            bitmapBcfhForm3.compress(Bitmap.CompressFormat.PNG, 90, mFileOutStream1); 
            mFileOutStream1.flush();
            mFileOutStream1.close();
            }
                catch (Exception e) {
                    // TODO: handle exception
                    Log.v("log_tag", e.toString()); 
                }   
         startActivity(new intent(A.this.B.classs));

2 个答案:

答案 0 :(得分:0)

您正在进行屏幕截图并将其保存到ExternalStorage,此过程将阻止您的UI线程,因此尝试在saparate工作线程中执行该屏幕截图并保存功能;为此,您可以使用简单的Thread对象,或者使用AsyncTask

答案 1 :(得分:0)

我建议你在另一个帖子中执行捕获和保存任务。最好的选择是AsycTask

检查此Post,搜索并了解Asynctask的工作情况。

快乐编码:)