java - 如何通过Bundle放置上下文
问题描述
我必须将 Context 对象放在包中并将其发送到输入值中。
in.putParcelable(DocumentsContract.EXTRA_URI, sourceDocumentUri);
in.putParcelable(DocumentsContract.EXTRA_TARGET_URI, targetParentDocumentUri);
in.putInt(DocumentsContract.EXTRA_FILE_COPY_OPERATION, operation);
in.putSerializable(DocumentsContract.EXTRA_CONTEXT, (Serializable) context);
我试过这样,但有异常,我该怎么做?
解决方案
你永远不应该传递上下文。否则就是一个。内存泄漏的来源和b。崩溃的来源。由于您正在创建一个 Bundle,我假设您将启动另一个应用程序组件,并且(正如 Will 已经指出的那样)每个应用程序组件(和片段)都可以访问自己的上下文,所以真的没有必要这样做.
推荐阅读
- css - 当一个元素具有精确的宽度/高度时对齐 CSS 元素
- python - 将列表中具有相同模式的元素组合成字符串
- java - 带有 in 子句的 H2 慢查询不使用索引
- android - Expo Android 深度链接
- reportbuilder - SRSS 2016/Report Builder 2016 - 行组无法按日期整理?
- python - 创建数据库后如何加载演示数据 ODOO
- python - Python:在别名下导入模块时出错
- vb.net - 通过字符串长度和文本比较比较类列表
- office-js - Outlook 插件在插件完成后显示“仍在运行”
- python - 如何释放熊猫数据框使用的内存而不是切片?