版权声明:有些文章写的很随意,那是仅作为个人记录的文章,建议直接关掉,多看一秒亏一秒 https://blog.csdn.net/qq_36523667/article/details/82292462
学习自
https://www.jianshu.com/p/8e85ef17381f
Weex没有实现图片加载功能,可以用Adapter来实现
注册Adapter
Adapter的注册:
InitConfig config = new InitConfig.Builder().setImgAdapter(new WeexImageAdapter()).build();
WXSDKEngine.initialize(this, config);
加载图片的Adapter的实现:
public class WeexImageAdapter implements IWXImgLoaderAdapter {
@Override
public void setImage(String url, ImageView view, WXImageQuality quality, WXImageStrategy strategy) {
Glide.with(view.getContext())
.load(url)
.error(R.mipmap.me_image_man)
.into(view);
}
}
看到这里我大概明白了:
Weex抽象了移动端,在这里,Weex抽象了常见功能场景的一部分。比如图片加载,图片的获取被抽象出来;网络请求,真正的请求部分被抽象了出来。
扫描二维码关注公众号,回复:
3213217 查看本文章
所以Adapter就是Weex从功能场景抽象出来的一部分功能,这些在Android里都是写死的。
看看有啥
网络的,图片获取的,存储的。。。
所以可想而知,功能部分的替换,完全变成了Native层的编程。本来功能的实现就是依赖于Native层,现在只是给Native层的某功能替换一部分,所以无需改动JS层。
然后你还需要明确一点,这个功能的部分替换是Adapter,在Native层。但是这个功能整体,是Module或者Component,依然需要走JS层。网络请求就是一个默认的Module(我猜的)
注册
就很简单了,Native层的功能比如网络请求本来就留好口子了,所以只需要改改参数就可以了
调用
不用说了,整体就是Module或者Component。
插一句,Weex是可以使用Android drawable里的图片的。原理很简单,看上面链接。