diff options
author | Adam Koch <akoch@google.com> | 2013-01-11 16:53:37 -0500 |
---|---|---|
committer | Adam Koch <akoch@google.com> | 2013-01-11 16:53:37 -0500 |
commit | 6f680f524a66dabcf0d86d0f19f3855f8c5e594f (patch) | |
tree | 389a0754831fc7a252e548e6c6a5d4c7ad8af175 /docs | |
parent | 0bb4dade30d3413cc7951c5d2c0ee761a93ae468 (diff) | |
download | frameworks_base-6f680f524a66dabcf0d86d0f19f3855f8c5e594f.zip frameworks_base-6f680f524a66dabcf0d86d0f19f3855f8c5e594f.tar.gz frameworks_base-6f680f524a66dabcf0d86d0f19f3855f8c5e594f.tar.bz2 |
Displaying Bitmaps Efficiently Training - Change memory calculation
When calculating memory cache size, use Runtime.maxMemory() instead
of getMemoryClass() which is a more accurate value of available VM
heap size.
Bug: 7988323
Change-Id: Iaa9681a11aad5cad3857dfe76f0b8e4811b2243c
Diffstat (limited to 'docs')
-rw-r--r-- | docs/downloads/training/BitmapFun.zip | bin | 430475 -> 430504 bytes | |||
-rw-r--r-- | docs/html/training/displaying-bitmaps/cache-bitmap.jd | 15 |
2 files changed, 8 insertions, 7 deletions
diff --git a/docs/downloads/training/BitmapFun.zip b/docs/downloads/training/BitmapFun.zip Binary files differindex c4ea7aa..882ce03 100644 --- a/docs/downloads/training/BitmapFun.zip +++ b/docs/downloads/training/BitmapFun.zip diff --git a/docs/html/training/displaying-bitmaps/cache-bitmap.jd b/docs/html/training/displaying-bitmaps/cache-bitmap.jd index 2a333cc..417ec5b 100644 --- a/docs/html/training/displaying-bitmaps/cache-bitmap.jd +++ b/docs/html/training/displaying-bitmaps/cache-bitmap.jd @@ -101,19 +101,20 @@ private LruCache<String, Bitmap> mMemoryCache; @Override protected void onCreate(Bundle savedInstanceState) { ... - // Get memory class of this device, exceeding this amount will throw an - // OutOfMemory exception. - final int memClass = ((ActivityManager) context.getSystemService( - Context.ACTIVITY_SERVICE)).getMemoryClass(); + // Get max available VM memory, exceeding this amount will throw an + // OutOfMemory exception. Stored in kilobytes as LruCache takes an + // int in its constructor. + final int maxMemory = (int) (Runtime.getRuntime().maxMemory() / 1024); // Use 1/8th of the available memory for this memory cache. - final int cacheSize = 1024 * 1024 * memClass / 8; + final int cacheSize = maxMemory / 8; mMemoryCache = new LruCache<String, Bitmap>(cacheSize) { @Override protected int sizeOf(String key, Bitmap bitmap) { - // The cache size will be measured in bytes rather than number of items. - return bitmap.getByteCount(); + // The cache size will be measured in kilobytes rather than + // number of items. + return bitmap.getByteCount() / 1024; } }; ... |