我试图在内存缓存中存储一个视频,视频完成后它将从缓存中删除。在播放过程中,无法从缓存中删除视频文件。Android中的内存缓存
回答
每个Android应用程序都有自己有限的内存
// Get max available VM memory, exceeding this amount will throw an
// OutOfMemory exception.
final int maxMemory = (int) (Runtime.getRuntime().maxMemory()/1024);
// Use 1/8th of the available memory for this memory cache.
final int cacheSize = maxMemory/8;
在一个普通的设备,这是一个最低限度的约4 MB(32/8) 每个应用程序分配32 MB。
在具有800x480分辨率的设备上充满图像的全屏网格视图将使用大约1.5MB(800 * 480 * 4字节)。 800 * 480 * 4 =实际图片尺寸
这会在内存中缓存大约2.5页图片的最少数量.ie在您的网格视图中,只有2.5张图片存储在缓存中......当您向上和向下滚动时到2.5图像,它从缓存中获取图像...当用户移动到第3或第4个图像时。前两个图像缓存被清除,新的下载图像缓存。
缓存机制主要用于平滑滚动网格视图列表中的图像。
机制: 在列表或网格视图中,第一张图像从网络下载并在用户向下滚动时存储在缓存中。当用户向上滚动时,如果图像可用,则从缓存中提取图像。
Android采用两种一种机制:
1.LRU缓存(内部应用程序的内存使用) 2.Disk缓存(使用SD卡存储)
磁盘缓存的代码是从Android操作系统拉。 这将有限的数据存储在SD卡中。当插入数据超过时,最近最少使用的文件被删除并存储新文件。
ex: Facebook Android使用磁盘缓存。
缓存内存在应用程序级别或设置>管理应用程序>应用程序名称中清除。
每个应用程序都有其自己的高速缓存,一个应用程序无法访问其他应用程序的高速缓存存储器..
欲了解更多信息,请访问:
http://developer.android.com/training/displaying-bitmaps/cache-bitmap.html#disk-cache
从你仿佛是试图做的评论是在永久性存储器中存储一个文件,然后删除它:
,所以我会建议你使用getCacheDir()方法来获取位置写入文件,然后使用createTempFile()创建一个临时文件,并在您不再需要时使用delete()方法。
这里是展示如何做一个StackOverflow的帖子:https://stackoverflow.com/a/6485850/906362
- 1. Android:在内存中缓存SQLite实体
- 2. 内存缓存
- 3. Android内部缓存中的“java.io.FileNotFoundException:Permission denied”Dir
- 4. Android LRU缓存内存不足错误
- 5. 类“内存缓存”中
- 6. 如何在内存中缓存内存和磁盘缓存中的位图?
- 7. 在内存缓存
- 8. 缓存和内存
- 9. /dev/shm中的内存可以缓存在CPU缓存中吗?
- 10. 在Android中具有较大尺寸的内存缓存中
- 11. 内存缓存absoluteExpiration - 这会影响内存缓存中的所有条目吗?
- 12. Python的内存缓存
- 13. CakePHP的+ NGINX +内存缓存
- 14. 在Android中缓存
- 15. 谷歌App Engine的内存缓存+如何从缓存中
- 16. 内存内存缓存数据集
- 17. Python中的内存感知LRU缓存?
- 18. iOS中缓存的NSURLRequest内存大小
- 19. 消除内存框架中的缓存
- 20. 压缩内存中的缓存对象
- 21. web api中的内存缓存
- 22. 内存中的Python SQLite缓存
- 23. IE中的JQuery内存缓存
- 24. dotnet核心中的内存缓存
- 25. 缓存内存中的大量数据
- 26. 使用Cordova 3.5的Android项目在内存中缓存数据
- 27. 在Android的内存中缓存图像有意义吗?
- 28. 如何防止LRU缓存中的内存不足错误android
- 29. 的Android毕加索库只在内存中缓存
- 30. v8中的内联缓存
什么是你想怎么办?缓存bitamps? – Raghunandan
由问题2,看看:http://stackoverflow.com/questions/10977288/clear-application-cache-on-exit-in-android – Castiblanco
你必须更好地解释你的问题。你想缓存什么?位图?文件?交易? JSON?你想在哪里缓存它:在RAM内存还是永久性的? – Budius