public class com.android.internal.os.KernelMemoryBandwidthStats
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.android.internal.os.KernelMemoryBandwidthStats
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "KernelMemoryBandwidthStats"
private static final java.lang.String mSysfsFile;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "/sys/kernel/memory_state_time/show_stat"
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected final android.util.LongSparseLongArray mBandwidthEntries;
descriptor: Landroid/util/LongSparseLongArray;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private boolean mStatsDoNotExist;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new android.util.LongSparseLongArray
dup
invokespecial android.util.LongSparseLongArray.<init>:()V
putfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
2: aload 0
iconst_0
putfield com.android.internal.os.KernelMemoryBandwidthStats.mStatsDoNotExist:Z
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/android/internal/os/KernelMemoryBandwidthStats;
public void updateStats();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mStatsDoNotExist:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
invokestatic android.os.SystemClock.uptimeMillis:()J
lstore 1
start local 1 3: invokestatic android.os.StrictMode.allowThreadDiskReads:()Landroid/os/StrictMode$ThreadPolicy;
astore 3
start local 3 4: aconst_null
astore 4
aconst_null
astore 5
5: new java.io.BufferedReader
dup
new java.io.FileReader
dup
ldc "/sys/kernel/memory_state_time/show_stat"
invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
astore 6
start local 6 6: aload 0
aload 6
invokevirtual com.android.internal.os.KernelMemoryBandwidthStats.parseStats:(Ljava/io/BufferedReader;)V
7: aload 6
ifnull 25
aload 6
invokevirtual java.io.BufferedReader.close:()V
goto 25
StackMap locals: com.android.internal.os.KernelMemoryBandwidthStats long android.os.StrictMode$ThreadPolicy java.lang.Throwable java.lang.Throwable java.io.BufferedReader
StackMap stack: java.lang.Throwable
8: astore 4
aload 6
ifnull 9
aload 6
invokevirtual java.io.BufferedReader.close:()V
end local 6 StackMap locals:
StackMap stack:
9: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
10: astore 5
aload 4
ifnonnull 11
aload 5
astore 4
goto 12
StackMap locals:
StackMap stack:
11: aload 4
aload 5
if_acmpeq 12
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
12: aload 4
athrow
StackMap locals: com.android.internal.os.KernelMemoryBandwidthStats long android.os.StrictMode$ThreadPolicy
StackMap stack: java.io.FileNotFoundException
13: pop
14: ldc "KernelMemoryBandwidthStats"
ldc "No kernel memory bandwidth stats available"
invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
15: aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
invokevirtual android.util.LongSparseLongArray.clear:()V
16: aload 0
iconst_1
putfield com.android.internal.os.KernelMemoryBandwidthStats.mStatsDoNotExist:Z
17: aload 3
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
goto 26
18: StackMap locals:
StackMap stack: java.io.IOException
astore 4
start local 4 19: ldc "KernelMemoryBandwidthStats"
new java.lang.StringBuilder
dup
ldc "Failed to read memory bandwidth: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.e:(Ljava/lang/String;Ljava/lang/String;)I
pop
20: aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
invokevirtual android.util.LongSparseLongArray.clear:()V
end local 4 21: aload 3
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
goto 26
22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 7
23: aload 3
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
24: aload 7
athrow
25: StackMap locals:
StackMap stack:
aload 3
invokestatic android.os.StrictMode.setThreadPolicy:(Landroid/os/StrictMode$ThreadPolicy;)V
26: StackMap locals:
StackMap stack:
invokestatic android.os.SystemClock.uptimeMillis:()J
lload 1
lsub
lstore 4
start local 4 27: lload 4
ldc 100
lcmp
ifle 29
28: ldc "KernelMemoryBandwidthStats"
new java.lang.StringBuilder
dup
ldc "Reading memory bandwidth file took "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc "ms"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Slog.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
29: StackMap locals: long
StackMap stack:
return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/android/internal/os/KernelMemoryBandwidthStats;
3 30 1 startTime J
4 30 3 policy Landroid/os/StrictMode$ThreadPolicy;
6 9 6 reader Ljava/io/BufferedReader;
19 21 4 e Ljava/io/IOException;
27 30 4 readTime J
Exception table:
from to target type
6 7 8 any
5 10 10 any
4 13 13 Class java.io.FileNotFoundException
4 13 18 Class java.io.IOException
4 17 22 any
18 21 22 any
public void parseStats(java.io.BufferedReader);
descriptor: (Ljava/io/BufferedReader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=2
start local 0 start local 1 0: new android.text.TextUtils$SimpleStringSplitter
dup
bipush 32
invokespecial android.text.TextUtils$SimpleStringSplitter.<init>:(C)V
astore 3
start local 3 1: aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
invokevirtual android.util.LongSparseLongArray.clear:()V
2: goto 15
start local 2 3: StackMap locals: java.lang.String android.text.TextUtils$SimpleStringSplitter
StackMap stack:
aload 3
aload 2
invokevirtual android.text.TextUtils$SimpleStringSplitter.setString:(Ljava/lang/String;)V
4: aload 3
invokevirtual android.text.TextUtils$SimpleStringSplitter.next:()Ljava/lang/String;
pop
5: iconst_0
istore 4
start local 4 6: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
iload 4
i2l
invokevirtual android.util.LongSparseLongArray.indexOfKey:(J)I
dup
istore 5
start local 5 7: iflt 12
8: aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
iload 4
i2l
aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
iload 5
invokevirtual android.util.LongSparseLongArray.valueAt:(I)J
9: aload 3
invokevirtual android.text.TextUtils$SimpleStringSplitter.next:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
ldc 1000000
ldiv
ladd
10: invokevirtual android.util.LongSparseLongArray.put:(JJ)V
11: goto 13
12: StackMap locals: int
StackMap stack:
aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
iload 4
i2l
aload 3
invokevirtual android.text.TextUtils$SimpleStringSplitter.next:()Ljava/lang/String;
invokestatic java.lang.Long.parseLong:(Ljava/lang/String;)J
ldc 1000000
ldiv
invokevirtual android.util.LongSparseLongArray.put:(JJ)V
13: StackMap locals:
StackMap stack:
iinc 4 1
14: aload 3
invokevirtual android.text.TextUtils$SimpleStringSplitter.hasNext:()Z
ifne 6
end local 5 end local 4 end local 2 15: StackMap locals: com.android.internal.os.KernelMemoryBandwidthStats java.io.BufferedReader top android.text.TextUtils$SimpleStringSplitter
StackMap stack:
aload 1
invokevirtual java.io.BufferedReader.readLine:()Ljava/lang/String;
dup
astore 2
start local 2 16: ifnonnull 3
17: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/android/internal/os/KernelMemoryBandwidthStats;
0 18 1 reader Ljava/io/BufferedReader;
3 15 2 line Ljava/lang/String;
16 18 2 line Ljava/lang/String;
1 18 3 splitter Landroid/text/TextUtils$SimpleStringSplitter;
6 15 4 bandwidth I
7 15 5 index I
Exceptions:
throws java.io.IOException
RuntimeInvisibleAnnotations:
com.android.internal.annotations.VisibleForTesting()
MethodParameters:
Name Flags
reader
public android.util.LongSparseLongArray getBandwidthEntries();
descriptor: ()Landroid/util/LongSparseLongArray;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.android.internal.os.KernelMemoryBandwidthStats.mBandwidthEntries:Landroid/util/LongSparseLongArray;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/android/internal/os/KernelMemoryBandwidthStats;
}
SourceFile: "KernelMemoryBandwidthStats.java"
InnerClasses:
public final ThreadPolicy = android.os.StrictMode$ThreadPolicy of android.os.StrictMode
public SimpleStringSplitter = android.text.TextUtils$SimpleStringSplitter of android.text.TextUtils