From e6cc545fe20a8b612551c47796d530686034afa2 Mon Sep 17 00:00:00 2001 From: fankesyooni Date: Thu, 20 Apr 2023 17:21:55 +0800 Subject: [PATCH] Modify change some HashMap to ArrayMap to save memory --- .../finder/base/rules/ModifierRules.kt | 3 ++- .../finder/store/ReflectsCacheStore.kt | 13 +++++++------ 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/yukireflection/src/main/java/com/highcapable/yukireflection/finder/base/rules/ModifierRules.kt b/yukireflection/src/main/java/com/highcapable/yukireflection/finder/base/rules/ModifierRules.kt index cc8c4d6..52735c2 100644 --- a/yukireflection/src/main/java/com/highcapable/yukireflection/finder/base/rules/ModifierRules.kt +++ b/yukireflection/src/main/java/com/highcapable/yukireflection/finder/base/rules/ModifierRules.kt @@ -31,6 +31,7 @@ package com.highcapable.yukireflection.finder.base.rules +import android.util.ArrayMap import java.lang.reflect.Field import java.lang.reflect.Member import java.lang.reflect.Method @@ -48,7 +49,7 @@ class ModifierRules private constructor(private val instance: Any) { internal companion object { /** 当前实例数组 */ - private val instances = HashMap() + private val instances = ArrayMap() /** * 获取模板字符串数组 diff --git a/yukireflection/src/main/java/com/highcapable/yukireflection/finder/store/ReflectsCacheStore.kt b/yukireflection/src/main/java/com/highcapable/yukireflection/finder/store/ReflectsCacheStore.kt index 00839a6..8db4007 100644 --- a/yukireflection/src/main/java/com/highcapable/yukireflection/finder/store/ReflectsCacheStore.kt +++ b/yukireflection/src/main/java/com/highcapable/yukireflection/finder/store/ReflectsCacheStore.kt @@ -28,6 +28,7 @@ */ package com.highcapable.yukireflection.finder.store +import android.util.ArrayMap import com.highcapable.yukireflection.YukiReflection import java.lang.reflect.Constructor import java.lang.reflect.Field @@ -46,22 +47,22 @@ import java.lang.reflect.Method internal object ReflectsCacheStore { /** 缓存的 [Class] 列表 */ - private val dexClassListData = HashMap>() + private val dexClassListData = ArrayMap>() /** 缓存的 [Class] 对象 */ - private val classData = HashMap?>() + private val classData = ArrayMap?>() /** 缓存的 [Class] 数组 */ - private val classesData = HashMap>>() + private val classesData = ArrayMap>>() /** 缓存的 [Method] 数组 */ - private val methodsData = HashMap>() + private val methodsData = ArrayMap>() /** 缓存的 [Constructor] 数组 */ - private val constructorsData = HashMap>>() + private val constructorsData = ArrayMap>>() /** 缓存的 [Field] 数组 */ - private val fieldsData = HashMap>() + private val fieldsData = ArrayMap>() /** * 查找缓存中的 [Class] 列表