summaryrefslogtreecommitdiffstats
path: root/docs
diff options
context:
space:
mode:
authorAdam Koch <akoch@google.com>2013-01-11 16:53:37 -0500
committerAdam Koch <akoch@google.com>2013-01-11 16:53:37 -0500
commit6f680f524a66dabcf0d86d0f19f3855f8c5e594f (patch)
tree389a0754831fc7a252e548e6c6a5d4c7ad8af175 /docs
parent0bb4dade30d3413cc7951c5d2c0ee761a93ae468 (diff)
downloadframeworks_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.zipbin430475 -> 430504 bytes
-rw-r--r--docs/html/training/displaying-bitmaps/cache-bitmap.jd15
2 files changed, 8 insertions, 7 deletions
diff --git a/docs/downloads/training/BitmapFun.zip b/docs/downloads/training/BitmapFun.zip
index c4ea7aa..882ce03 100644
--- a/docs/downloads/training/BitmapFun.zip
+++ b/docs/downloads/training/BitmapFun.zip
Binary files differ
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&lt;String, Bitmap&gt; mMemoryCache;
&#64;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&lt;String, Bitmap&gt;(cacheSize) {
&#64;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;
}
};
...