跳到正文

Intent、显式与隐式调用

60 分钟

Intent、显式与隐式调用

从一次真实移动场景开始

本节研究 Intent、显式与隐式调用。先把用户在何种设备、姿态、网络、电量和前后台状态下完成什么任务写清;再标出Android版本、进程/组件、权限、持久数据和系统限制。移动端正确不是“页面显示过一次”,而是旋转、切后台、进程死亡、断网、撤权限和设备差异后仍能给出可理解结果。

本节专属对象

Intent携带动作、数据、类别和extras;显式指定组件,隐式由过滤器解析,外部输入不可信。。把对象分为用户任务、应用组件/状态、平台服务、Linux/硬件、数据/网络和观测证据,并写owner、生命周期、线程、版本与敏感级别。Activity、进程、任务、业务状态和数据库记录不是同一个生命周期,不能互相代替。

公式、状态或平台不变量

核心关系是:resolved set={components matching action,data,category and policy}。。先说明单位、分母、时间基准、线程/进程边界和系统版本,再逐项计算或推演。若系统回收进程、权限撤销、网络切换、任务重复、设备不支持、存储满或热降频,应进入明确分支,不能把模拟器上的成功当普遍保证。

老师带着算完例子

隐式分享Intent匹配3个应用,用户/系统可选择其中之一。。这里给出输入、中间步骤和结论。现在只改变一个量,先预测生命周期、状态、时延、帧、能耗、容量或安全结果如何变化,再复算。方向不对时检查主线程排队、生命周期owner、dp/px、采样时间戳、缓存/数据库版本和系统策略。

把一次移动执行拆成可检查的行

围绕“Intent、显式与隐式调用”至少写四行:第一行写设备/API/构建、用户事件和当前生命周期;第二行写线程、组件、权限、数据版本或系统服务;第三行按“resolved set={components matching action,data,category and policy}。”计算关键中间量或状态转移;第四行写用户结果与日志/trace/数据库证据。用“隐式分享Intent匹配3个应用,用户/系统可选择其中之一。”逐项代入,不允许只贴界面截图。

完成正向推演后做两次反查。先从界面/通知/错误向后找到UI状态、ViewModel/组件、Repository、数据库/网络、系统回调和原始事件;再从触控/系统事件向前重放。最后注入“把Parcelable extra当可信对象;敏感Intent被恶意应用截获。”,确认首个偏差可以被检测、恢复和回归。

落到代码和真机实验

查询解析结果,限制URI权限、MIME和可导出组件。。实现应输出生命周期、线程、状态版本、请求/同步ID、权限结果、传感时间戳、帧/内存/能耗或构建digest。代码实验使用确定输入输出并覆盖正常、最小、边界和失败;平台实验还需真机或代表性模拟环境证据。

复杂度、资源与系统边界

分析“Intent、显式与隐式调用”主要受对象/帧分配、主线程工作、采样/请求率、队列积压、数据库规模、图片buffer、设备矩阵或后台窗口中的哪个量控制。小例确认语义,规模/长时实验说明性能能耗,故障注入说明边界。结论要接回应用—Framework—系统服务/HAL—内核/硬件与后端同步链路。

本节报告至少保留设备/API/构建、输入或事件序列、代码/配置版本、中间状态、系统证据、结果和资源成本。手算“隐式分享Intent匹配3个应用,用户/系统可选择其中之一。”校验工具/库配置,再用“把Parcelable extra当可信对象;敏感Intent被恶意应用截获。”负测。Android API和框架可以使用,但必须说明它的生命周期、线程、兼容与失败保证。

最短失败反例

本节边界是:把Parcelable extra当可信对象;敏感Intent被恶意应用截获。。构造最小事件、状态、输入或设备条件让问题出现,指出被破坏的不变量,并给可运行修复、回归测试、监控和恢复。只写“加判空”“换框架”“多测真机”不算修复。

在线练习与闭卷自检

本节绑定单选、多选、计算和严格系统题;章节另有真实Python状态/资源算法实验,每题至少四组测试。闭卷重建五项:对象“Intent携带动作、数据、类别和extras;显式指定组件,隐式由过滤器解析,外部输入不可信。”;核心关系“resolved set={components matching action,data,category and policy}。”;算完例题“隐式分享Intent匹配3个应用,用户/系统可选择其中之一。”;实验步骤;失败边界“把Parcelable extra当可信对象;敏感Intent被恶意应用截获。”。缺一项,就还没有真正掌握《Intent、显式与隐式调用》。

Practice

本课练习

6

先独立作答再提交;编程题会在隔离沙箱中真实编译、运行并对拍。

1方法单选:Intent、显式与隐式调用 4 积分

实现Intent、显式与隐式调用时,哪条证据链最严格?本节反例是:把Parcelable extra当可信对象;敏感Intent被恶意应用截获。

登录 后答题可以得积分
2证据多选:Intent、显式与隐式调用 4 积分

复核Intent、显式与隐式调用时哪些材料必须保留?

多选题:必须选全正确项,漏选或多选均不得分。

登录 后答题可以得积分
3专属计算:Intent、显式与隐式调用 4 积分

5个组件匹配后策略排除2个,候选数?

登录 后答题可以得积分
4推导与实验题:Intent、显式与隐式调用 4 积分

围绕Intent、显式与隐式调用完成可复算解答:解释“Intent携带动作、数据、类别和extras;显式指定组件,隐式由过滤器解析,外部输入不可信。”,逐行使用 resolved set={components matching action,data,category and policy}。 重算“隐式分享Intent匹配3个应用,用户/系统可选择其中之一。”,执行“查询解析结果,限制URI权限、MIME和可导出组件。”,再针对“把Parcelable extra当可信对象;敏感Intent被恶意应用截获。”构造最小反例并修正。

【评分量表】对象与口径2分;公式和中间步骤3分;例题数值3分;失败边界与修正2分。

登录 后答题可以得积分
5可运行移动系统实验:生命周期迁移校验·基础 6 积分

本题必须操作的算法对象是:生命周期迁移校验·基础。实现“生命周期迁移校验·基础”,逐步计算而非返回常量;Python 3标准输入输出,不得联网或硬编码样例,并通过正常、最小、边界与失败输入。

登录 后答题可以得积分
6u03独立题02:Intent、显式与隐式调用 5 积分

评审Intent、显式与隐式调用时哪些证据不可缺?

多选题:必须选全正确项,漏选或多选均不得分。

登录 后答题可以得积分