我使用波纹管代码捕获屏幕,然后将其存储在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));
答案 0 :(得分:0)
您正在进行屏幕截图并将其保存到ExternalStorage,此过程将阻止您的UI线程,因此尝试在saparate工作线程中执行该屏幕截图并保存功能;为此,您可以使用简单的Thread对象,或者使用AsyncTask
答案 1 :(得分:0)