diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index aff48fd8..ed99da3a 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -21,6 +21,7 @@ android:allowBackup="false" android:icon="@drawable/autojs_material" android:label="@string/_app_name" + android:largeHeap="true" android:supportsRtl="true" android:theme="@style/AppTheme" tools:replace="android:label, android:icon, android:allowBackup"> diff --git a/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java b/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java index e0612826..a3491447 100644 --- a/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java +++ b/autojs/src/main/java/com/stardust/autojs/core/image/ImageWrapper.java @@ -117,4 +117,16 @@ public class ImageWrapper { public Bitmap getBitmap() { return mBitmap; } + + public void recycle() { + if (mBitmap != null) { + mBitmap.recycle(); + mBitmap = null; + } + if (mMat != null) { + mMat.release(); + mMat = null; + } + + } } diff --git a/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java b/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java index fea1db5f..cf729b2d 100644 --- a/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java +++ b/autojs/src/main/java/com/stardust/autojs/runtime/api/Images.java @@ -108,6 +108,9 @@ public class Images { return mPreCaptureImage; } mPreCapture = capture; + if(mPreCaptureImage != null){ + mPreCaptureImage.recycle(); + } mPreCaptureImage = ImageWrapper.ofImage(capture); return mPreCaptureImage; }