Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature: Add clear image cache from memory and disk #425

Merged

Conversation

guhungry
Copy link
Contributor

@guhungry guhungry commented Mar 9, 2019

I have a use case that need to clear image cache after user logout
I tested it on both android and iOS

@codecov
Copy link

codecov bot commented Mar 9, 2019

Codecov Report

Merging #425 into master will decrease coverage by 7.75%.
The diff coverage is 60%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #425      +/-   ##
==========================================
- Coverage   94.11%   86.36%   -7.76%     
==========================================
  Files           1        1              
  Lines          17       22       +5     
==========================================
+ Hits           16       19       +3     
- Misses          1        3       +2
Impacted Files Coverage Δ
src/index.js 86.36% <60%> (-7.76%) ⬇️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 89c0e2e...2b79960. Read the comment docs.

@codecov
Copy link

codecov bot commented Mar 9, 2019

Codecov Report

Merging #425 (4ab44eb) into master (325d77f) will decrease coverage by 8.28%.
The diff coverage is 50.00%.

❗ Current head 4ab44eb differs from pull request most recent head 590b036. Consider uploading reports for the commit 590b036 to get more accurate results
Impacted file tree graph

@@            Coverage Diff             @@
##           master     #425      +/-   ##
==========================================
- Coverage   95.23%   86.95%   -8.29%     
==========================================
  Files           1        1              
  Lines          21       23       +2     
  Branches        2        0       -2     
==========================================
  Hits           20       20              
- Misses          1        3       +2     
Impacted Files Coverage Δ
src/index.js 86.95% <50.00%> (ø)
src/index.tsx

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 4fc024b...590b036. Read the comment docs.

@macdevnet
Copy link

This is a pretty useful addition. Any thoughts on if it is going to be accepted?

@Palid
Copy link

Palid commented Apr 4, 2019

+1 on this, I'd love this addition to the library.

@guhungry guhungry force-pushed the feature_clear_cache_memory_and_disk branch from 2b79960 to 4ab44eb Compare May 9, 2019 03:50
luatnd added a commit to luatnd/react-native-fast-image that referenced this pull request Jul 18, 2019
@brunocrpontes
Copy link

Any expectations about when it will be merged?

@barrylachapelle
Copy link

+1 would love this for development/testing

@ntelkedzhiev
Copy link

Any updates on this?

@lx3133584
Copy link

This is a pretty useful addition

@hanayashiki
Copy link

Why wasn't this merged?

@guhungry guhungry force-pushed the feature_clear_cache_memory_and_disk branch 3 times, most recently from e0f48c3 to 28d06a5 Compare June 20, 2020 05:27
@guhungry
Copy link
Contributor Author

@DylanVann I rebase the code and use promise api as you suggest please review it.

@guhungry guhungry force-pushed the feature_clear_cache_memory_and_disk branch 2 times, most recently from dfe9aa2 to ee3f590 Compare June 20, 2020 07:13
@guhungry guhungry force-pushed the feature_clear_cache_memory_and_disk branch from ee3f590 to 1912be0 Compare June 20, 2020 07:22
@guhungry
Copy link
Contributor Author

Working example

Android
iOS 1) Load image & kill app & open app, clear mem, clear disk 2) kill app && open app

@tgensol
Copy link

tgensol commented Oct 27, 2020

Any updates on this one ?

@dandre-hound dandre-hound mentioned this pull request Feb 1, 2021
@zyestin
Copy link

zyestin commented Mar 2, 2021

Nice, Tks~
But, the version we're using is above 8.3.2, part of directory structure is as blow. So the file should make change also need to update. Will you update ?

node_modules/react-native-fast-image/android
node_modules/react-native-fast-image/dist
node_modules/react-native-fast-image/dist/index.cjs.js
node_modules/react-native-fast-image/dist/index.d.ts
node_modules/react-native-fast-image/dist/index.d.ts.map
node_modules/react-native-fast-image/dist/index.js
node_modules/react-native-fast-image/dist/index.js.flow
node_modules/react-native-fast-image/dist/index.test.d.ts
node_modules/react-native-fast-image/dist/index.test.d.ts.map
node_modules/react-native-fast-image/ios

@trickeyd
Copy link

So what is the situation with this PR?

It seems that with the sheer quantity of issues concerning memory management with this lib, this is a quick win for those attempting to manage it manually, no?

@mhdSid
Copy link

mhdSid commented Aug 26, 2021

I'll try to create a PR which contains the newly updated docs

@trickeyd
Copy link

@mhdSid Done it here
#818

Sorry didn't make into a PR earlier as I've been testing it

Copy link
Owner

@DylanVann DylanVann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

@DylanVann DylanVann merged commit 818ed0c into DylanVann:master Sep 14, 2021
github-actions bot pushed a commit that referenced this pull request Sep 15, 2021
# [8.4.0](v8.3.7...v8.4.0) (2021-09-15)

### Bug Fixes

* export FastImageStaticProperties ([#822](#822)) ([d69f692](d69f692))
* update dv-scripts ([61fab12](61fab12))
* update dv-scripts ([3c6d0f4](3c6d0f4))

### Features

* add clear image cache from memory and disk ([#425](#425)) ([818ed0c](818ed0c))
@github-actions
Copy link

🎉 This PR is included in version 8.4.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@mhdSid
Copy link

mhdSid commented Sep 15, 2021

@pranav-jft
Copy link

https://github.com/DylanVann/react-native-fast-image#static-methods

Hello can anyone tell me how am I supposed to use it as simply calling FastImage.clearMemoryCache();
FastImage.clearDiskCache(); isn't showing any difference in xcode profiler

@fukemy
Copy link

fukemy commented Nov 8, 2022

love u all

@fukemy
Copy link

fukemy commented Nov 8, 2022

@pranav-jft, u can call this method everytime app open, in useEffect of App.js...

@vineethvijayan314
Copy link

Is it possible to clear images with a TTL(Time to Live) like 10 days or something?

alicayan008 pushed a commit to alicayan008/ReactNative-fast-image that referenced this pull request Jul 4, 2023
# [8.4.0](DylanVann/react-native-fast-image@v8.3.7...v8.4.0) (2021-09-15)

### Bug Fixes

* export FastImageStaticProperties ([#822](DylanVann/react-native-fast-image#822)) ([d69f692](DylanVann/react-native-fast-image@d69f692))
* update dv-scripts ([61fab12](DylanVann/react-native-fast-image@61fab12))
* update dv-scripts ([3c6d0f4](DylanVann/react-native-fast-image@3c6d0f4))

### Features

* add clear image cache from memory and disk ([#425](DylanVann/react-native-fast-image#425)) ([818ed0c](DylanVann/react-native-fast-image@818ed0c))
tungxuan1656 pushed a commit to tungxuan1656/react-native-fast-image that referenced this pull request Dec 26, 2023
# [8.4.0](DylanVann/react-native-fast-image@v8.3.7...v8.4.0) (2021-09-15)

### Bug Fixes

* export FastImageStaticProperties ([DylanVann#822](DylanVann#822)) ([d69f692](DylanVann@d69f692))
* update dv-scripts ([61fab12](DylanVann@61fab12))
* update dv-scripts ([3c6d0f4](DylanVann@3c6d0f4))

### Features

* add clear image cache from memory and disk ([DylanVann#425](DylanVann#425)) ([818ed0c](DylanVann@818ed0c))
github-actions bot pushed a commit to johto-breakroom/react-native-fast-image that referenced this pull request Nov 15, 2024
# 1.0.0 (2024-11-15)

### Bug Fixes

* accessibilityIgnoresInvertColors prop not recognised when using TypeScript ([DylanVann#666](https://github.com/johto-breakroom/react-native-fast-image/issues/666)) ([22f89e4](22f89e4)), closes [/github.com/DylanVann/react-native-fast-image/blob/master/src/index.tsx#L150-L160](https://github.com//github.com/DylanVann/react-native-fast-image/blob/master/src/index.tsx/issues/L150-L160)
* Add git tag to CocoaPods source property ([DylanVann#601](https://github.com/johto-breakroom/react-native-fast-image/issues/601)) ([2d706ad](2d706ad))
* add react@17 as peer dependency ([DylanVann#790](https://github.com/johto-breakroom/react-native-fast-image/issues/790)) ([27bd586](27bd586))
* Add tintColor to Flow FastImageProps type ([DylanVann#871](https://github.com/johto-breakroom/react-native-fast-image/issues/871)) ([37abecd](37abecd))
* Add tintColor type definition. ([4adf42f](4adf42f))
* Bump Glide version number to v4.11.0. ([DylanVann#649](https://github.com/johto-breakroom/react-native-fast-image/issues/649)) ([c4e4306](c4e4306)), closes [DylanVann#536](https://github.com/johto-breakroom/react-native-fast-image/issues/536)
* do not crash when source is invalid ([DylanVann#782](https://github.com/johto-breakroom/react-native-fast-image/issues/782)) ([5c5fefa](5c5fefa))
* export FastImageStaticProperties ([DylanVann#822](https://github.com/johto-breakroom/react-native-fast-image/issues/822)) ([d69f692](d69f692))
* FastImage extends ViewProps ([DylanVann#829](https://github.com/johto-breakroom/react-native-fast-image/issues/829)) ([68db871](68db871)), closes [DylanVann#819](https://github.com/johto-breakroom/react-native-fast-image/issues/819)
* Fix dependency versions not specified in podfile. ([89f3379](89f3379)), closes [DylanVann#456](https://github.com/johto-breakroom/react-native-fast-image/issues/456)
* Fix fallback prop not working. ([DylanVann#420](https://github.com/johto-breakroom/react-native-fast-image/issues/420)) ([487d410](487d410))
* Fix IllegalArgumentException crash (Android). ([DylanVann#511](https://github.com/johto-breakroom/react-native-fast-image/issues/511)) ([b6c4677](b6c4677))
* Fix incorrect syntax. ([11f6047](11f6047))
* Fix local resource cache issue on Android. ([DylanVann#472](https://github.com/johto-breakroom/react-native-fast-image/issues/472)) ([5f65383](5f65383)), closes [DylanVann#402](https://github.com/johto-breakroom/react-native-fast-image/issues/402)
* Fix memory leak on iOS. ([DylanVann#433](https://github.com/johto-breakroom/react-native-fast-image/issues/433)) ([70be744](70be744))
* Fix peer dependency and remove prop-types. ([44a4c8b](44a4c8b))
* Fix setting props order issue for iOS. ([DylanVann#303](https://github.com/johto-breakroom/react-native-fast-image/issues/303)) ([5597ed0](5597ed0)), closes [DylanVann#304](https://github.com/johto-breakroom/react-native-fast-image/issues/304)
* Fix wildcard peer dependencies. ([7149420](7149420)), closes [DylanVann#440](https://github.com/johto-breakroom/react-native-fast-image/issues/440)
* Fixes cacheControl types. ([DylanVann#382](https://github.com/johto-breakroom/react-native-fast-image/issues/382)) ([e13db7d](e13db7d)), closes [DylanVann#325](https://github.com/johto-breakroom/react-native-fast-image/issues/325)
* Fixes podspec syntax. ([b627646](b627646))
* Fixes WebP rendering on iOS 12. ([DylanVann#412](https://github.com/johto-breakroom/react-native-fast-image/issues/412)) ([97630c8](97630c8)), closes [DylanVann#298](https://github.com/johto-breakroom/react-native-fast-image/issues/298) [DylanVann#385](https://github.com/johto-breakroom/react-native-fast-image/issues/385)
* Flow syntax error ([DylanVann#924](https://github.com/johto-breakroom/react-native-fast-image/issues/924)) ([a10ab3f](a10ab3f))
* improve/update build.gradle ([1f04c55](1f04c55))
* lint ([780d41f](780d41f))
* Loading images by reverting "bug: Use device scale when loading images.". ([0326c3e](0326c3e)), closes [DylanVann#509](https://github.com/johto-breakroom/react-native-fast-image/issues/509)
* make corresponding flow file for .cjs file ([77326e8](77326e8)), closes [DylanVann#784](https://github.com/johto-breakroom/react-native-fast-image/issues/784)
* null exception in FastImageViewManager.java ([DylanVann#423](https://github.com/johto-breakroom/react-native-fast-image/issues/423)) ([a7a8643](a7a8643))
* peer dependency warning ([DylanVann#653](https://github.com/johto-breakroom/react-native-fast-image/issues/653)) ([cd81b1b](cd81b1b))
* Replace 'Component' with 'ComponentType' ([DylanVann#647](https://github.com/johto-breakroom/react-native-fast-image/issues/647)) ([6abb273](6abb273))
* tintColor in fallback Image ([DylanVann#882](https://github.com/johto-breakroom/react-native-fast-image/issues/882)) ([fbb6b68](fbb6b68))
* use ColorValue type ([DylanVann#939](https://github.com/johto-breakroom/react-native-fast-image/issues/939)) ([54376d8](54376d8))
* **android:** make center ResizeMode work correctly ([d648ef8](d648ef8))
* **android:** remove explicit use of UI thread ([DylanVann#698](https://github.com/johto-breakroom/react-native-fast-image/issues/698)) ([5d2894e](5d2894e))
* **android:** replace jcenter with mavenCentral ([69c9422](69c9422))
* **android:** update Glide ([86edd7f](86edd7f))
* **ios:** update SDWebImage ([DylanVann#740](https://github.com/johto-breakroom/react-native-fast-image/issues/740)) ([a1eeb75](a1eeb75))
* remove cache property if using fallback ([ba0f238](ba0f238))
* update dv-scripts ([61fab12](61fab12))
* update dv-scripts ([3c6d0f4](3c6d0f4))
* update SDWebImage and SDWebImageWebPCoder ([DylanVann#689](https://github.com/johto-breakroom/react-native-fast-image/issues/689)) ([9646456](9646456))
* Updates SDWebImageWebPCoder. ([DylanVann#628](https://github.com/johto-breakroom/react-native-fast-image/issues/628)) ([325d77f](325d77f))
* Upgrade vendored SDWebImage to v5.0.5. ([5016172](5016172)), closes [DylanVann#489](https://github.com/johto-breakroom/react-native-fast-image/issues/489)
* wrong cache type ([DylanVann#688](https://github.com/johto-breakroom/react-native-fast-image/issues/688)) [skip ci] ([94e2256](94e2256))
* xcode 12 compatibility ([DylanVann#732](https://github.com/johto-breakroom/react-native-fast-image/issues/732)) ([23c3955](23c3955))

### chore

* Update React peerDependency to "^17 || ^18" ([6255fc4](6255fc4))

### Features

* add a dependency with glide-pluin to support APNG ([c0eae3c](c0eae3c))
* add clear image cache from memory and disk ([DylanVann#425](https://github.com/johto-breakroom/react-native-fast-image/issues/425)) ([818ed0c](818ed0c))
* Add cookie support for iOS. ([DylanVann#284](https://github.com/johto-breakroom/react-native-fast-image/issues/284)) ([ae47bff](ae47bff))
* Add tint color support. ([03c50f0](03c50f0)), closes [DylanVann#124](https://github.com/johto-breakroom/react-native-fast-image/issues/124)
* Add tvOS target. ([DylanVann#486](https://github.com/johto-breakroom/react-native-fast-image/issues/486)) ([6805972](6805972))
* apply patch to react native fast image ([fe3bb5f](fe3bb5f))
* converts to TypeScript ([DylanVann#642](https://github.com/johto-breakroom/react-native-fast-image/issues/642)) ([ac11706](ac11706))
* export ResizeMode and Priority types ([DylanVann#678](https://github.com/johto-breakroom/react-native-fast-image/issues/678)) ([e33664f](e33664f))
* support defaultSource on iOS and Android ([DylanVann#921](https://github.com/johto-breakroom/react-native-fast-image/issues/921)) ([ec7c453](ec7c453))
* **ios:** allow for for per-image-request-headers ([DylanVann#691](https://github.com/johto-breakroom/react-native-fast-image/issues/691)) ([4a7cd64](4a7cd64))
* **ios:** cancel image load when unmounted ([DylanVann#787](https://github.com/johto-breakroom/react-native-fast-image/issues/787)) ([f1588be](f1588be))
* Upgrade example apps. ([DylanVann#453](https://github.com/johto-breakroom/react-native-fast-image/issues/453)) ([25f8f0d](25f8f0d))
* Upgrade to React Native 0.60.0 / CocoaPods / Android X. ([DylanVann#513](https://github.com/johto-breakroom/react-native-fast-image/issues/513)) ([5489f9e](5489f9e))
* Upgrade to SDWebImage 5.0. ([DylanVann#454](https://github.com/johto-breakroom/react-native-fast-image/issues/454)) ([8a216e2](8a216e2)), closes [DylanVann#447](https://github.com/johto-breakroom/react-native-fast-image/issues/447)
* Use forwardRef to allow access to ref.measure and others. ([DylanVann#419](https://github.com/johto-breakroom/react-native-fast-image/issues/419)) ([2b4fba3](2b4fba3)), closes [DylanVann#69](https://github.com/johto-breakroom/react-native-fast-image/issues/69)

### Performance Improvements

* Use React.memo for FastImage. ([DylanVann#449](https://github.com/johto-breakroom/react-native-fast-image/issues/449)) ([5c2b4af](5c2b4af))

### Reverts

* Remove functionality for notifying other images on load. ([DylanVann#452](https://github.com/johto-breakroom/react-native-fast-image/issues/452)) ([292223d](292223d))
* Revert "deleted exampleCode" ([26042d4](26042d4))

### BREAKING CHANGES

* This package will no longer support React 16.
* This changes how network requests are handled on iOS. Make sure they still work for you.
* You should upgrade React Native. See https://facebook.github.io/react-native/blog/2019/07/03/version-60
* Upgrade SDWebImage, may affect some projects and CocoaPods users.

Fix the bug of `cacheOnly` behavior
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.