From fd298529bf1249bb42e4855a2286e50d4b361b3c Mon Sep 17 00:00:00 2001 From: tom5079 Date: Thu, 10 Sep 2020 19:16:42 +0900 Subject: [PATCH] Memory usage optimization --- app/build.gradle | 4 ++-- app/release/output-metadata.json | 4 ++-- .../java/xyz/quaver/pupil/services/DownloadService.kt | 4 ++-- app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt | 10 ++++++++++ .../main/java/xyz/quaver/pupil/ui/ReaderActivity.kt | 11 +++++++++++ app/src/main/java/xyz/quaver/pupil/util/misc.kt | 8 +------- 6 files changed, 28 insertions(+), 13 deletions(-) diff --git a/app/build.gradle b/app/build.gradle index 164c76ab..d96301c6 100644 --- a/app/build.gradle +++ b/app/build.gradle @@ -20,8 +20,8 @@ android { applicationId "xyz.quaver.pupil" minSdkVersion 16 targetSdkVersion 30 - versionCode 57 - versionName "5.0-beta8" + versionCode 58 + versionName "5.0" testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner" vectorDrawables.useSupportLibrary = true } diff --git a/app/release/output-metadata.json b/app/release/output-metadata.json index de3cdbc7..09e2b91c 100644 --- a/app/release/output-metadata.json +++ b/app/release/output-metadata.json @@ -11,8 +11,8 @@ "type": "SINGLE", "filters": [], "properties": [], - "versionCode": 57, - "versionName": "5.0-beta8", + "versionCode": 58, + "versionName": "5.0", "enabled": true, "outputFile": "app-release.apk" } diff --git a/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt b/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt index 773c457d..04ecf9f1 100644 --- a/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt +++ b/app/src/main/java/xyz/quaver/pupil/services/DownloadService.kt @@ -27,6 +27,7 @@ import android.util.SparseArray import androidx.core.app.NotificationCompat import androidx.core.app.NotificationManagerCompat import androidx.core.app.TaskStackBuilder +import androidx.core.content.ContextCompat import kotlinx.coroutines.CoroutineScope import kotlinx.coroutines.Dispatchers import kotlinx.coroutines.Job @@ -46,7 +47,6 @@ import xyz.quaver.pupil.util.downloader.DownloadManager import xyz.quaver.pupil.util.ellipsize import xyz.quaver.pupil.util.normalizeID import xyz.quaver.pupil.util.requestBuilders -import xyz.quaver.pupil.util.startForegroundServiceCompat import java.io.IOException private typealias ProgressListener = (DownloadService.Tag, Long, Long, Boolean) -> Unit @@ -354,7 +354,7 @@ class DownloadService : Service() { const val COMMAND_DELETE = "DELETE" private fun command(context: Context, extras: Intent.() -> Unit) { - context.startForegroundServiceCompat(Intent(context, DownloadService::class.java).apply(extras)) + ContextCompat.startForegroundService(context, Intent(context, DownloadService::class.java).apply(extras)) } fun download(context: Context, galleryID: Int, priority: Boolean = false) { diff --git a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt index a891eadf..3faf5282 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/MainActivity.kt @@ -968,4 +968,14 @@ class MainActivity : } } } + + override fun onLowMemory() { + super.onLowMemory() + Glide.get(this).onLowMemory() + } + + override fun onTrimMemory(level: Int) { + super.onTrimMemory(level) + Glide.get(this).onTrimMemory(level) + } } diff --git a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt index 87bf4ff5..d8ed35e6 100644 --- a/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt +++ b/app/src/main/java/xyz/quaver/pupil/ui/ReaderActivity.kt @@ -35,6 +35,7 @@ import androidx.recyclerview.widget.PagerSnapHelper import androidx.recyclerview.widget.RecyclerView import androidx.vectordrawable.graphics.drawable.Animatable2Compat import androidx.vectordrawable.graphics.drawable.AnimatedVectorDrawableCompat +import com.bumptech.glide.Glide import com.google.android.material.snackbar.Snackbar import com.google.firebase.crashlytics.FirebaseCrashlytics import kotlinx.android.synthetic.main.activity_reader.* @@ -473,4 +474,14 @@ class ReaderActivity : BaseActivity() { } } } + + override fun onLowMemory() { + super.onLowMemory() + Glide.get(this).onLowMemory() + } + + override fun onTrimMemory(level: Int) { + super.onTrimMemory(level) + Glide.get(this).onTrimMemory(level) + } } \ No newline at end of file diff --git a/app/src/main/java/xyz/quaver/pupil/util/misc.kt b/app/src/main/java/xyz/quaver/pupil/util/misc.kt index 1f513f20..4fbfe412 100644 --- a/app/src/main/java/xyz/quaver/pupil/util/misc.kt +++ b/app/src/main/java/xyz/quaver/pupil/util/misc.kt @@ -22,6 +22,7 @@ import android.annotation.SuppressLint import android.content.Context import android.content.Intent import android.os.Build +import androidx.core.content.ContextCompat import okhttp3.OkHttpClient import okhttp3.Request import xyz.quaver.Code @@ -101,13 +102,6 @@ fun GalleryBlock.formatDownloadFolderTest(format: String): String = } } -fun Context.startForegroundServiceCompat(service: Intent) { - if (Build.VERSION.SDK_INT >= 26) - startForegroundService(service) - else - startService(service) -} - val Reader.requestBuilders: List get() { val galleryID = this.galleryInfo.id ?: 0