参考:https://blog.csdn.net/lihenair/article/details/61913542

在ActivityThread中看到如下的用法:

    @GuardedBy("mResourcesManager")final ArrayMap<String, WeakReference<LoadedApk>> mPackages = new ArrayMap<>();@GuardedBy("mResourcesManager")final ArrayMap<String, WeakReference<LoadedApk>> mResourcePackages = new ArrayMap<>();@GuardedBy("mResourcesManager")final ArrayList<ActivityClientRecord> mRelaunchingActivities = new ArrayList<>();@GuardedBy("mResourcesManager")Configuration mPendingConfiguration = null;@GuardedBy("mResourcesManager")int mLifecycleSeq = 0;private final ResourcesManager mResourcesManager;

对这些成员变量加上了注解词@GuardedBy("mResourcesManager")。

根据参考的文章,这个是一个同步锁,只有在线程持有mResourcesManager对象锁时,才能使用这写变量。

如:

    private int getLifecycleSeq() {synchronized (mResourcesManager) {return mLifecycleSeq++;}}

@GuardedBy注解相关推荐

  1. 大佬教你极简方法来处理Android SharedPreferences设计与实现

    起源 就在前几日,有幸拜读到 HiDhl 的文章,继腾讯开源类似功能的MMKV之后,Google官方维护的 Jetpack DataStore 组件横空出世--这是否意味着无论是腾讯三方还是Googl ...

  2. 官方也无力回天?“SharedPreferences 存在什么问题?”

    作者:却把清梅嗅 链接:https://juejin.im/post/6884505736836022280 起源 就在前几日,有幸拜读到 HiDhl 的文章  https://juejin.im/p ...

  3. 反思|官方也无力回天?Android SharedPreferences的设计与实现

    反思 系列博客是我的一种新学习方式的尝试,该系列起源和目录请参考 这里 . 起源 就在前几日,有幸拜读到 HiDhl 的文章,继腾讯开源类似功能的MMKV之后,Google官方维护的 Jetpack ...

  4. PackageManagerService中的方法名中的LI、LIF、LPw、LPr的含义

    PackageManagerService中的方法名中的LI.LIF.LPw.LPr的含义 注1:本文参考Android 7.1.1r13源码中的PackageManagerService的说明. 这 ...

  5. 多线程服务器的常用编程模型 .

    转自: 陈硕 (giantchen_AT_gmail) : http://blog.csdn.net/solstice/article/details/5307710 本文主要讲我个人在多线程开发方面 ...

  6. 线程同步的注解:@ThreadSafe、@Immutable、@NotThreadSafe、@GuardedBy

    Java并发编程中,用到了一些专门为并发编程准备的 Annotation.主要包括三类: <dependency> <groupId>net.jcip</groupId& ...

  7. 在kotlin companion object中读取spring boot配置文件,静态类使用@Value注解配置

    在kotlin companion object中读取配置文件 静态类使用@Value注解配置 class Config {@Value("\${name}")fun setNam ...

  8. 使用feign调用注解在eureka上的微服务,简单学会微服务

    使用feign调用注解在eureka上的微服务. 首先,确保所有服务(调用方与被调用方)都被注册在同一个eureka服务上. 1. 在调用方添加依赖(万事第一步,加依赖) <dependency ...

  9. IDEA中根据数据库自动生成实体类,并自定义所生成的实体类中的注解 @Table @Id @...

    使用IDEA项目添加Hibernate扩展,生成实体类并配置实体类中的注解 一.使用Hibernate自动生成实体类 1.在项目上右键,选择Add Framework Support找到 Hibern ...

  10. @Transactional注解最容易忽视的三个失效场景!

    @Transactional注解在以下场景中使用,是会失效的,切记! 1.非public方法 spring对注解事务的方法进行校验,修饰符是不是public,不是 public则不会获取@Transa ...

最新文章

  1. iOS 十六进制的颜色值转换为UIColor
  2. WIN2003 下安装 WinWebMail 3.6.3.1
  3. 13.8 线程的安全问题和解决方法
  4. Java 9抢先体验:与JShell的动手实践– Java REPL
  5. 尬出天际!和导师微信聊天大型翻车现场!
  6. Biorhythms(POJ-1006)
  7. 「云+未来」上海峰会,报名开启
  8. 禅道外部消息提示_Spring Boot中文参考指南(2.1.6)34、消息传递
  9. AC日记——[NOI2006]最大获利 bzoj 1497
  10. spring boot: 一般注入说明(五) @Component, application event事件为Bean与Bean之间通信提供了支持...
  11. 网吧母盘的制作(2007详细)
  12. java word书签_java和javascript获取word的 书签位置
  13. 计算机 英语简历,2017计算机英文简历范文
  14. 关于socket阻塞与非阻塞情况下的recv、seng、read、write返回值问题
  15. 手把手教你写一个Matlab App(一)
  16. linux下md5sum命令的使用
  17. 瀚博半导体载天VA1 加速卡安装过程
  18. 每日新闻摘要:适用于Win7,Android Q Beta等的DirectX
  19. Java中“||”与“|”的区别【JAVA基础】
  20. 计算机科学期刊催稿,SOFT COMPUTING

热门文章

  1. 基于Python语言豆瓣电影数据挖掘与分析
  2. 逝随春花——OIer JCY 后续
  3. OpenJudge -6047 :分蛋糕
  4. Nice Garland
  5. C77 - 不完全扫雷[不定期更新,全凭心情]
  6. 病毒分析三:勒索病毒分析
  7. .net写加密的com组件给ASP,VB,VC等其他语言调用
  8. 德昂年会—北京站圆满落幕
  9. forward(转发)与redirect(重定向)的区别
  10. MNN Interpreter and Session