package Ġjp . co . gen ie e . samples . common Ċ Ċ import Ġandroid . graphics . Bitmap Ċ import Ġandroidx . collection . L ru Cache Ċ Ċ object ĠMem Cache Ġ{ ĊĠĠĠ Ġprivate Ġconst Ġval Ġcache Size Ġ= Ġ 6 Ġ* Ġ 1 0 2 4 ĊĊĠĠĠ Ġprivate Ġval Ġm Memory Cache Ġ= Ġobject Ġ: Ġandroidx . collection . L ru Cache < String , ĠBitmap >( cache Size ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsize Of ( key : ĠString , Ġbitmap : ĠBitmap ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġbitmap . row Bytes Ġ* Ġbitmap . height Ġ/ Ġ 1 0 2 4 ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġentry Removed ( ev ict ed : ĠBoolean , Ġkey : ĠString , ĠoldValue : ĠBitmap , ĠnewValue : ĠBitmap ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar ĠoldValue Ġ= ĠoldValue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! oldValue . is Re cyc led ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun ĠgetImage ( key : ĠString ): ĠBitmap ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġbitmap Ġ= Ġm Memory Cache . get ( key ) ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( bitmap Ġ!= Ġnull Ġ&& Ġbitmap . is Re cyc led ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbitmap ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġset Image ( key : ĠString , Ġbitmap : ĠBitmap ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ(! has Image ( key ) Ġ&& Ġbitmap Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Memory Cache . put ( key , Ġbitmap ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġhas Image ( key : ĠString ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠgetImage ( key ) Ġ!= Ġnull ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġclear () Ġ{ ĊĠĠĠĠĠĠĠ Ġm Memory Cache . ev ict All () ĊĠĠĠ Ġ} Ċ } Ċ