任何人都可以注释掉这段代码,让我更好地了解这段代码中发生的事情吗?
谢谢.
private void putBitmapInDiskCache(Uri url, Bitmap avatar) {
File cacheDir = new File(context.getCacheDir(), "thumbnails");
File cacheFile = new File(cacheDir, ""+url.hashCode());
try {
cacheFile.createNewFile();
FileOutputStream fos = new FileOutputStream(cacheFile);
avatar.compress(CompressFormat.PNG, 100, fos);
fos.flush();
fos.close();
} catch (Exception e) {
Log.e(LOG_TAG, "Error when saving image to cache. ", e);
}
}
Run Code Online (Sandbox Code Playgroud)
阅读它们是类似的:
fis = new FileInputStream(cacheFile);
Bitmap local = BitmapFactory.decodeStream(fis);
Run Code Online (Sandbox Code Playgroud)
/**
* Write bitmap associated with a url to disk cache
*/
private void putBitmapInDiskCache(Uri url, Bitmap avatar) {
// Create a path pointing to the system-recommended cache dir for the app, with sub-dir named
// thumbnails
File cacheDir = new File(context.getCacheDir(), "thumbnails");
// Create a path in that dir for a file, named by the default hash of the url
File cacheFile = new File(cacheDir, ""+url.hashCode());
try {
// Create a file at the file path, and open it for writing obtaining the output stream
cacheFile.createNewFile();
FileOutputStream fos = new FileOutputStream(cacheFile);
// Write the bitmap to the output stream (and thus the file) in PNG format (lossless compression)
avatar.compress(CompressFormat.PNG, 100, fos);
// Flush and close the output stream
fos.flush();
fos.close();
} catch (Exception e) {
// Log anything that might go wrong with IO to file
Log.e(LOG_TAG, "Error when saving image to cache. ", e);
}
}
Run Code Online (Sandbox Code Playgroud)
第二部分:
// Open input stream to the cache file
fis = new FileInputStream(cacheFile);
// Read a bitmap from the file (which presumable contains bitmap in PNG format, since
// that's how files are created)
Bitmap local = BitmapFactory.decodeStream(fis);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2725 次 |
| 最近记录: |