当前位置: 首页 > wzjs >正文

自己做网站可以随便起名字吗常州外贸网站建设

自己做网站可以随便起名字吗,常州外贸网站建设,优化设计答案四年级上册语文,wordpress自定义远程字体Glide: Glide 是一个强大的 Android 图片加载库,它能够自动管理图片加载请求与 Android 组件的生命周期绑定,防止内存泄漏和无效加载。 Glide 初始化绑定 ​​​​​​​// 支持的上下文类型 Glide.with(Activity) Glide.with(Fragment) Gl…

Glide: Glide 是一个强大的 Android 图片加载库,它能够自动管理图片加载请求与 Android 组件的生命周期绑定,防止内存泄漏和无效加载。

Glide 初始化绑定

​​​​​​​// 支持的上下文类型
Glide.with(Activity)
Glide.with(Fragment)
Glide.with(FragmentActivity)
Glide.with(Context)
Glide.with(View)

Glide生命周期绑定流程

Glide.with(this): 下面都是它的重载方法,Context,Activity,FragmentActivity, Fragment, android.app.Fragment fragment,View都可以作为他的参数(如上图代码块),内容大同小异,都是先getRetriever,然后再get(Context)

@NonNull
public static RequestManager with(@NonNull Context context) {return getRetriever(context).get(context);
}@NonNull
public static RequestManager with(@NonNull Activity activity) {return getRetriever(activity).get(activity);
}@NonNull
public static RequestManager with(@NonNull FragmentActivity activity) {return getRetriever(activity).get(activity);
}@NonNull
public static RequestManager with(@NonNull Fragment fragment) {return getRetriever(fragment.getContext()).get(fragment);
}@NonNull
public static RequestManager with(@NonNull View view) {return getRetriever(view.getContext()).get(view);
}
获取生命周期所有者:
  • Glide 使用 RequestManagerRetriever 获取或创建对应的 RequestManager

  • 对于 Activity/Fragment的Context,Glide 会添加一个空白/隐藏的 SupportRequestManagerFragment 用来监听生命周期

@NonNull
public RequestManager get(@NonNull FragmentActivity activity) {if (Util.isOnBackgroundThread()) {return get(activity.getApplicationContext());} else {assertNotDestroyed(activity);FragmentManager fm = activity.getSupportFragmentManager();return supportFragmentGet(activity, fm, /*parentHint=*/ null, isActivityVisible(activity));}
}@NonNull
private RequestManager supportFragmentGet(@NonNull Context context,@NonNull FragmentManager fm,@Nullable Fragment parentHint,boolean isParentVisible) {SupportRequestManagerFragment current =getSupportRequestManagerFragment(fm, parentHint, isParentVisible);RequestManager requestManager = current.getRequestManager();if (requestManager == null) {// TODO(b/27524013): Factor out this Glide.get() call.Glide glide = Glide.get(context);requestManager =factory.build(glide, current.getGlideLifecycle(), current.getRequestManagerTreeNode(), context);current.setRequestManager(requestManager);}return requestManager;
}@NonNull
private SupportRequestManagerFragment getSupportRequestManagerFragment(@NonNull final FragmentManager fm, @Nullable Fragment parentHint, boolean isParentVisible) {SupportRequestManagerFragment current =(SupportRequestManagerFragment) fm.findFragmentByTag(FRAGMENT_TAG);if (current == null) {current = pendingSupportRequestManagerFragments.get(fm);if (current == null) {current = new SupportRequestManagerFragment();current.setParentFragmentHint(parentHint);if (isParentVisible) {current.getGlideLifecycle().onStart();}pendingSupportRequestManagerFragments.put(fm, current);fm.beginTransaction().add(current, FRAGMENT_TAG).commitAllowingStateLoss();handler.obtainMessage(ID_REMOVE_SUPPORT_FRAGMENT_MANAGER, fm).sendToTarget();}}return current;
}

创建生命周期监听器

  • Glide 创建一个 ActivityFragmentLifecycle 实例

  • 这个监听器会跟踪 Activity/Fragment 的生命周期状态

SupportRequestManagerFragment.javapublic SupportRequestManagerFragment() {this(new ActivityFragmentLifecycle());
}@VisibleForTesting
@SuppressLint("ValidFragment")
public SupportRequestManagerFragment(@NonNull ActivityFragmentLifecycle lifecycle) {this.lifecycle = lifecycle;
}

绑定生命周期事件

  • 当宿主 (Activity/Fragment) 的生命周期发生变化时,会回调到 LifecycleListener

  • Glide 的 RequestManager 实现了 LifecycleListener 接口

@Overridepublic void onDetach() {super.onDetach();parentFragmentHint = null;unregisterFragmentWithRoot();}@Overridepublic void onStart() {super.onStart();lifecycle.onStart();}@Overridepublic void onStop() {super.onStop();lifecycle.onStop();}@Overridepublic void onDestroy() {super.onDestroy();lifecycle.onDestroy();unregisterFragmentWithRoot();}

http://www.dtcms.com/wzjs/573090.html

相关文章:

  • 网站建设实训报告册商业网点建设中心网站
  • wordpress 网站建设做公司网站费用
  • 韶关城乡建设部网站首页织梦网站修改使用教程
  • 怎么创建个网站上海市建设工程交易中心网站
  • 网站建设销售开场白外国语学院英文网站建设
  • 怎么做网站建设作业中国建设银行什么是网站用户名
  • 网站正在建设中模板织梦软件网站模板下载地址
  • 广州大型网站建设公司排名15年做那些网站致富
  • 建设官方网站怎么登录termux 安装wordpress
  • 说服企业做网站公司装修图片大全
  • 网站后台怎么用wordpress在线扫描
  • 电子商务网站建设配色做网站能自己找服务器吗
  • 广州做网站系统网站首页锚文本
  • 顺德做网站那家好做网站网站代理
  • 友汇网网站建设管理后台设置360建筑网质量怎么样
  • 做网站收费 知乎ui设计就业方向有哪些?
  • 网站禁止ping什么营销软件好用
  • 网站买东西第三方怎么做自己做的网站被黑了怎么办
  • 淮安市做网站的公司微信网页版二维码失效
  • 网站设计中建设规划和准备阶段做淘宝客网站要备案吗
  • vue 做企业网站长沙调查公司
  • 电商网站页面交易平台官网
  • 美食网站建设策划书海南进出口公司排名
  • 传媒网站源码网站设计工资怎么样
  • 怎么样让网站网址有图标刷关键词优化排名
  • 南阳做网站公司电话网站框架一般用什么做
  • 如何查网站空间营销型网站建设目的和意义
  • 二道网站建设微信小程序二维码
  • 中英文网站设计wordpress缩略图圆角阴影
  • 房地产网站设计昆明网站建设报价