内容简介:看到《Android开发艺术探索》书中 P241 页提到RemoteViews跨进程资源访问的限制,我在跨进程的实际使用时,证实是没有限制的,可以跨进程使用,RemoteViews源码如下:RemoteViews实例化的时候会保存一个mApplication的变量,用于跨进程访问资源。感谢网友
看到《Android开发艺术探索》书中 P241 页提到RemoteViews跨进程资源访问的限制,我在跨进程的实际使用时,证实是没有限制的,可以跨进程使用,RemoteViews源码如下:
public RemoteViews(String packageName, int layoutId) { this(getApplicationInfo(packageName, UserHandle.myUserId()), layoutId); } protected RemoteViews(ApplicationInfo application, int layoutId) { mApplication = application; ... } 复制代码
RemoteViews实例化的时候会保存一个mApplication的变量,用于跨进程访问资源。
/** @hide */ public View apply(Context context, ViewGroup parent, OnClickHandler handler) { ... final Context contextForResources = getContextForResources(context); Context inflationContext = new ContextWrapper(context) { @Override public Resources getResources() { return contextForResources.getResources(); } @Override public Resources.Theme getTheme() { return contextForResources.getTheme(); } @Override public String getPackageName() { return contextForResources.getPackageName(); } }; LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); ... } private Context getContextForResources(Context context) { if (mApplication != null) { if (context.getUserId() == UserHandle.getUserId(mApplication.uid) && context.getPackageName().equals(mApplication.packageName)) { return context; } try { return context.createApplicationContext(mApplication, Context.CONTEXT_RESTRICTED); } catch (NameNotFoundException e) { Log.e(LOG_TAG, "Package name " + mApplication.packageName + " not found"); } } return context; } 复制代码
感谢网友 magazmj@gmail.com
的反馈,希望对大家有所帮助。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 使用AIDL实现跨进程接口回掉
- 「iOS 面试之道」勘误(二)
- Shadow的跨进程设计与插件Service原理
- wukongqueue:轻量且易于使用的跨进程队列服务
- 如何在 macOS 中使用 XPC 实现跨进程通讯?
- Asciinema 文章勘误及 Web 端使用介绍
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度学习
[美] 伊恩·古德费洛、[加] 约书亚·本吉奥、[加] 亚伦·库维尔 / 赵申剑、黎彧君、符天凡、李凯 / 人民邮电出版社 / 2017-7-1 / 168
《深度学习》由全球知名的三位专家Ian Goodfellow、Yoshua Bengio 和Aaron Courville撰写,是深度学习领域奠基性的经典教材。全书的内容包括3个部分:第1部分介绍基本的数学工具和机器学习的概念,它们是深度学习的预备知识;第2部分系统深入地讲解现今已成熟的深度学习方法和技术;第3部分讨论某些具有前瞻性的方向和想法,它们被公认为是深度学习未来的研究重点。 《深度......一起来看看 《深度学习》 这本书的介绍吧!