Kickstart LRUCache to void constructor blocking in main thread
This commit is contained in:
@@ -25,6 +25,7 @@ import androidx.security.crypto.EncryptedSharedPreferences
|
|||||||
import coil3.disk.DiskCache
|
import coil3.disk.DiskCache
|
||||||
import coil3.memory.MemoryCache
|
import coil3.memory.MemoryCache
|
||||||
import com.vitorpamplona.amethyst.commons.model.NoteState
|
import com.vitorpamplona.amethyst.commons.model.NoteState
|
||||||
|
import com.vitorpamplona.amethyst.commons.robohash.CachedRobohash
|
||||||
import com.vitorpamplona.amethyst.model.Account
|
import com.vitorpamplona.amethyst.model.Account
|
||||||
import com.vitorpamplona.amethyst.model.LocalCache
|
import com.vitorpamplona.amethyst.model.LocalCache
|
||||||
import com.vitorpamplona.amethyst.model.accountsCache.AccountCacheState
|
import com.vitorpamplona.amethyst.model.accountsCache.AccountCacheState
|
||||||
@@ -62,6 +63,7 @@ import com.vitorpamplona.amethyst.service.relayClient.reqCommand.user.UserFinder
|
|||||||
import com.vitorpamplona.amethyst.service.relayClient.speedLogger.RelaySpeedLogger
|
import com.vitorpamplona.amethyst.service.relayClient.speedLogger.RelaySpeedLogger
|
||||||
import com.vitorpamplona.amethyst.service.uploads.blossom.bud10.BlossomServerResolver
|
import com.vitorpamplona.amethyst.service.uploads.blossom.bud10.BlossomServerResolver
|
||||||
import com.vitorpamplona.amethyst.service.uploads.nip95.Nip95CacheFactory
|
import com.vitorpamplona.amethyst.service.uploads.nip95.Nip95CacheFactory
|
||||||
|
import com.vitorpamplona.amethyst.ui.resourceCacheInit
|
||||||
import com.vitorpamplona.amethyst.ui.screen.AccountSessionManager
|
import com.vitorpamplona.amethyst.ui.screen.AccountSessionManager
|
||||||
import com.vitorpamplona.amethyst.ui.screen.UiSettingsState
|
import com.vitorpamplona.amethyst.ui.screen.UiSettingsState
|
||||||
import com.vitorpamplona.amethyst.ui.tor.TorManager
|
import com.vitorpamplona.amethyst.ui.tor.TorManager
|
||||||
@@ -442,6 +444,12 @@ class AppModules(
|
|||||||
uiState
|
uiState
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LRUCache should not be instanciated in the Main thread due to blocking
|
||||||
|
applicationIOScope.launch {
|
||||||
|
CachedRobohash
|
||||||
|
resourceCacheInit()
|
||||||
|
}
|
||||||
|
|
||||||
// registers to receive events
|
// registers to receive events
|
||||||
pokeyReceiver.register(appContext)
|
pokeyReceiver.register(appContext)
|
||||||
|
|
||||||
|
|||||||
@@ -39,6 +39,12 @@ private var resourceCacheLanguage: String? = null
|
|||||||
// Caches most common icons in the app to avoid using disk
|
// Caches most common icons in the app to avoid using disk
|
||||||
private val iconCache = LruCache<Int, LruCache<Int, Painter>>(30)
|
private val iconCache = LruCache<Int, LruCache<Int, Painter>>(30)
|
||||||
|
|
||||||
|
fun resourceCacheInit() {
|
||||||
|
resourceCache
|
||||||
|
resourceCacheLanguage
|
||||||
|
iconCache
|
||||||
|
}
|
||||||
|
|
||||||
fun checkLanguage(currentLanguage: String) {
|
fun checkLanguage(currentLanguage: String) {
|
||||||
if (resourceCacheLanguage == null) {
|
if (resourceCacheLanguage == null) {
|
||||||
resourceCacheLanguage = currentLanguage
|
resourceCacheLanguage = currentLanguage
|
||||||
|
|||||||
Reference in New Issue
Block a user