DefaultNativeMemoryChunkPoolParams.smali
.class public Lcom/facebook/imagepipeline/memory/DefaultNativeMemoryChunkPoolParams;
.super Ljava/lang/Object;
.source "DefaultNativeMemoryChunkPoolParams.java"
# static fields
.field private static final LARGE_BUCKET_LENGTH:I = 0x2
.field private static final SMALL_BUCKET_LENGTH:I = 0x5
# direct methods
.method public constructor <init>()V
.registers 1
.line 16
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
.method public static get()Lcom/facebook/imagepipeline/memory/PoolParams;
.registers 4
.line 27
new-instance v0, Landroid/util/SparseIntArray;
invoke-direct {v0}, Landroid/util/SparseIntArray;-><init>()V
const/16 v1, 0x400
const/4 v2, 0x5
.line 28
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/16 v1, 0x800
.line 29
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/16 v1, 0x1000
.line 30
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/16 v1, 0x2000
.line 31
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/16 v1, 0x4000
.line 32
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const v1, 0x8000
.line 33
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/high16 v1, 0x10000
.line 34
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/high16 v1, 0x20000
.line 35
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/high16 v1, 0x40000
const/4 v2, 0x2
.line 36
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/high16 v1, 0x80000
.line 37
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
const/high16 v1, 0x100000
.line 38
invoke-virtual {v0, v1, v2}, Landroid/util/SparseIntArray;->put(II)V
.line 39
new-instance v1, Lcom/facebook/imagepipeline/memory/PoolParams;
invoke-static {}, Lcom/facebook/imagepipeline/memory/DefaultNativeMemoryChunkPoolParams;->getMaxSizeSoftCap()I
move-result v2
invoke-static {}, Lcom/facebook/imagepipeline/memory/DefaultNativeMemoryChunkPoolParams;->getMaxSizeHardCap()I
move-result v3
invoke-direct {v1, v2, v3, v0}, Lcom/facebook/imagepipeline/memory/PoolParams;-><init>(IILandroid/util/SparseIntArray;)V
return-object v1
.end method
.method private static getMaxSizeHardCap()I
.registers 4
.line 63
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Runtime;->maxMemory()J
move-result-wide v0
const-wide/32 v2, 0x7fffffff
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
long-to-int v0, v0
const/high16 v1, 0x1000000
if-ge v0, v1, :cond_17
.line 65
div-int/lit8 v0, v0, 0x2
return v0
.line 67
:cond_17
div-int/lit8 v0, v0, 0x4
mul-int/lit8 v0, v0, 0x3
return v0
.end method
.method private static getMaxSizeSoftCap()I
.registers 4
.line 48
invoke-static {}, Ljava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/Runtime;->maxMemory()J
move-result-wide v0
const-wide/32 v2, 0x7fffffff
invoke-static {v0, v1, v2, v3}, Ljava/lang/Math;->min(JJ)J
move-result-wide v0
long-to-int v0, v0
const/high16 v1, 0x1000000
if-ge v0, v1, :cond_17
const/high16 v0, 0x300000
return v0
:cond_17
const/high16 v1, 0x2000000
if-ge v0, v1, :cond_1e
const/high16 v0, 0x600000
return v0
:cond_1e
const/high16 v0, 0xc00000
return v0
.end method