Title: 保存SD卡缓存有Bug · Issue #5 · GcsSloop/diycode · GitHub
Open Graph Title: 保存SD卡缓存有Bug · Issue #5 · GcsSloop/diycode
X Title: 保存SD卡缓存有Bug · Issue #5 · GcsSloop/diycode
Description: DataCache: public void saveData(@nonnull String key, @nonnull T data) { mLruCache.put(key, data); mDiskCache.put(key, data, ACache.TIME_WEEK); // 数据缓存时间为 1 周 } 执行到最后: /** * 保存 byte数据 到 缓存中 * * @param key 保存的key * @param value 保存的数据 */ pu...
Open Graph Description: DataCache: public void saveData(@nonnull String key, @nonnull T data) { mLruCache.put(key, data); mDiskCache.put(key, data, ACache.TIME_WEEK); // 数据缓存时间为 1 周 } 执行到最后: /** * 保存 byte数据 到 缓存中 * * @par...
X Description: DataCache: public void saveData(@nonnull String key, @nonnull T data) { mLruCache.put(key, data); mDiskCache.put(key, data, ACache.TIME_WEEK); // 数据缓存时间为 1 周 } 执行到最后: /** * 保存 byte数据 到 缓存中 * * @par...
Opengraph URL: https://github.com/GcsSloop/diycode/issues/5
X: @github
Domain: patch-diff.githubusercontent.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"保存SD卡缓存有Bug","articleBody":"DataCache: \r\n public \u003cT extends Serializable\u003e void saveData(@NonNull String key, @NonNull T data) {\r\n mLruCache.put(key, data);\r\n mDiskCache.put(key, data, ACache.TIME_WEEK); // 数据缓存时间为 1 周\r\n }\r\n执行到最后:\r\n\r\n /**\r\n * 保存 byte数据 到 缓存中\r\n *\r\n * @param key 保存的key\r\n * @param value 保存的数据\r\n */\r\n public void put(String key, byte[] value) {\r\n File file = mCache.newFile(key);\r\n ....\r\n mCache.put(file);\r\n }\r\n\r\n private File newFile(String key) {\r\n return new File(cacheDir, key.hashCode() + \"\");\r\n }\r\n private void put(File file) {\r\n .....\r\n Long currentTime = System.currentTimeMillis();\r\n file.setLastModified(currentTime);\r\n lastUsageDates.put(file, currentTime);\r\n }\r\n每次put操作,会新建一个File对象,然后将该引用保存到lastUsageDates中\r\n///////////////////////////////////////////////////////\r\nget操作\r\n public \u003cT extends Serializable\u003e T getData(@NonNull String key) {\r\n T result = (T) mLruCache.get(key);\r\n if (result == null) {\r\n result = (T) mDiskCache.getAsObject(key);\r\n if (result != null) {\r\n mLruCache.put(key, result);\r\n }\r\n }\r\n return result;\r\n }\r\n\r\n /**\r\n * 获取 byte 数据\r\n *\r\n * @param key\r\n * @return byte 数据\r\n */\r\n public byte[] getAsBinary(String key) {\r\n RandomAccessFile RAFile = null;\r\n boolean removeFile = false;\r\n try {\r\n File file = mCache.get(key);\r\n ....\r\n }\r\n private File get(String key) {\r\n File file = newFile(key);\r\n Long currentTime = System.currentTimeMillis();\r\n file.setLastModified(currentTime);\r\n lastUsageDates.put(file, currentTime);\r\n\r\n return file;\r\n }\r\n\r\n每次get操作,都会创建一个新的File对象,然后将这个File引用保存到lastUsageDates中。\r\n//////////////////////////////////////////////////////////////////\r\n那么,bug就是,比如,我存放一个SD卡缓存,key是loginInfo,保存到SD卡中的一个文件。\r\n然后,我不断去get,会不断添加新的File引用到lastUsageDates。lastUsageDates中,使用的key是File引用值,每个新创建的File对象,它们的引用值都是不同的,即使它们指向相同的文件。\r\n\r\n","author":{"url":"https://github.com/ttylinux","@type":"Person","name":"ttylinux"},"datePublished":"2017-04-08T09:26:15.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/5/diycode/issues/5"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:c390f40d-e90d-df11-f7ed-48bc3fb183fe |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | DFFC:5C4F6:440111C:5BDAE08:696E088E |
| html-safe-nonce | 65cd6c9541988072ad8558b66ccfebf01cc76345e67894a162c562d882e2f14f |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJERkZDOjVDNEY2OjQ0MDExMUM6NUJEQUUwODo2OTZFMDg4RSIsInZpc2l0b3JfaWQiOiI5MDM5MDA0Njc0NzQ3NjY0NTI2IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0= |
| visitor-hmac | 462b6ac3fb8fb0ac173a954e832a7df766f8901318ddfdc53cd02ffd50c29bfa |
| hovercard-subject-tag | issue:220387973 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/GcsSloop/diycode/5/issue_layout |
| twitter:image | https://opengraph.githubassets.com/562f213ae434ab109e4edb436daf0754c28e44e753cadf46560afd9e82f1a346/GcsSloop/diycode/issues/5 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/562f213ae434ab109e4edb436daf0754c28e44e753cadf46560afd9e82f1a346/GcsSloop/diycode/issues/5 |
| og:image:alt | DataCache: public void saveData(@nonnull String key, @nonnull T data) { mLruCache.put(key, data); mDiskCache.put(key, data, ACache.TIME_WEEK); // 数据缓存时间为 1 周 } 执行到最后: /** * 保存 byte数据 到 缓存中 * * @par... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ttylinux |
| hostname | github.com |
| expected-hostname | github.com |
| None | 0b1760aa20e1a810eba6245d04e3885be7363dfe08d08b61f605c852359472e0 |
| turbo-cache-control | no-preview |
| go-import | github.com/GcsSloop/diycode git https://github.com/GcsSloop/diycode.git |
| octolytics-dimension-user_id | 9796998 |
| octolytics-dimension-user_login | GcsSloop |
| octolytics-dimension-repository_id | 80809072 |
| octolytics-dimension-repository_nwo | GcsSloop/diycode |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 80809072 |
| octolytics-dimension-repository_network_root_nwo | GcsSloop/diycode |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 84090305cd10c2b140bf307f69f57f0892b4f215 |
| ui-target | canary-1 |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width