nativescript-web-image-cache-with-fresco
一个包装器,用于在 NativeScript 上实现 iOS 的 SDWebImageCache 和 Android 的 Facebook Fresco 的远程图像缓存
npm i --save nativescript-web-image-cache-with-fresco
- 版本:2.0.2
- GitHub:https://github.com/leocaseiro/nativescript-web-image-cache
- NPM:https://npmjs.net.cn/package/nativescript-web-image-cache-with-fresco
- 下载
- 昨天:0
- 上周:0
- 上个月:0
#Nativescript web image cache 一个简约的 NativeScript 插件,仅封装了 SDWebImageCache 库的缓存功能(用于 IOS)和 Facebook Fresco 的缓存功能(用于 android)。注意 - 它不能用于显示本地图像,只能用于 URL,对于本地图像,请使用 NS Image 标签
许可
在 MIT 许可下发布,任何人都可以免费将其包含在任何类型的程序中 -- 然而,如果您需要支持合同、更改、增强和/或商业许可,请联系我([email protected])。
安装
tns plugin add nativescript-web-image-cache
**在 NativeScript 2.0 上进行了测试,如果在旧版本上运行出现问题,请更新。此版本的插件有重大更改,如果您正在使用此插件的 1.0.3 版本,请迁移,迁移很简单,并且此版本的插件也支持 android,如果您仍然希望运行在旧版本上,请使用 tns plugin add [email protected]
。
使用
如果是在 android 上,在使用或清除缓存之前需要初始化插件,iOS 上不需要初始化
在 android 上的初始化 - 在 app.js 中
var imageCache = require("nativescript-web-image-cache");
if (application.android) {
application.onLaunch = function (intent) {
imageCache.initialize();
};
}
缓存图像
- 将 xml 的开头标签中添加
xmlns:IC="nativescript-web-image-cache"
。 - 添加具有
src
属性设置为 URL 的IC:WebImage
元素,就像正常图像标签一样,在需要图像缓存的地方使用。 stretch
属性可以取以下值 - https://docs.nativescript.cn/api-reference/modules/_ui_enums_.stretch.html- 要检查图像是否正在加载,请使用
page.getViewById("myWebImage")
获取 WebImage 视图的引用,并检查 isLoading 属性(与 NativeScript Image 的 isLoading 属性相同)。
清除缓存
- 需要模块,调用
clearCache()
方法,默认时间为 SDWebImageCache 的 7 天,以及 Fresco 的 60 天,在此之后缓存将自动清除。
##示例缓存
<Page xmlns:IC="nativescript-web-image-cache">
<GridLayout rows='*' columns='*'>
<IC:WebImage stretch="fill" row="0"
col="0" id="my-image-1"
src="http://www.newyorker.com/wp-
content/uploads/2014/08/Stokes-Hello-
Kitty2-1200.jpg">
</IC:WebImage>
</GridLayout>
</Page>
检查图像是否正在加载
var imageCacheModule=require("nativescript-web-image-cache");
var myImage1 = page.getViewById("my-image-1"),
isLoading = myImage1.isLoading;
清除缓存
var imageCacheModule=require("nativescript-web-image-cache");
imageCacheModule.clearCache();
对于 android,您需要在应用程序的 onlaunch 事件之前初始化,然后再清除缓存