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

app商城需要手机网站吗优秀设计作品欣赏

app商城需要手机网站吗,优秀设计作品欣赏,体育设施建设发布有没有网站,公司网站海报怎么做在Android系统中#xff0c;perform和handle方法经常出现在关键流程中#xff0c;分别承担不同的职责。这种命名约定反映了框架设计中的分层思想#xff0c;帮助开发者区分任务的调度与实现。本文通过handleLaunchActivity和performLaunchActivity这两个典型方法的源码分析perform和handle方法经常出现在关键流程中分别承担不同的职责。这种命名约定反映了框架设计中的分层思想帮助开发者区分任务的调度与实现。本文通过handleLaunchActivity和performLaunchActivity这两个典型方法的源码分析详细讲解它们的区别和设计意图。 1. 核心概念 ​perform​​方法 用于具体执行某项任务的逻辑。专注于任务实现的细节例如初始化、计算或生命周期处理。 ​handle​​方法 负责响应事件或调度任务是流程控制的入口。通常包含任务分发或异常处理的逻辑。 总结 perform专注于实现任务handle专注于管理任务的流程。 2. 应用场景简介 handleLaunchActivity和performLaunchActivity是ActivityThread中两个核心方法用于启动Activity。 ​handleLaunchActivity​启动流程的调度者负责组织和管理任务。​performLaunchActivity​任务的执行者负责Activity实例化和初始化的具体逻辑。 3. 源码分析 以下从源码角度说明这两个方法的职责分工和调用关系。 (1) ​handleLaunchActivity​ 源码ActivityThread.java private void handleLaunchActivity(ActivityClientRecord r, Intent customIntent) {// 处理启动前的状态unscheduleGcIdler();r performLaunchActivity(r, customIntent); // 调用 perform 执行具体任务if (r ! null) {Activity a r.activity;if (a ! null) {// 启动完成后更新状态handleResumeActivity(r.token, false, r.isForward, !r.activity.mFinished, r.lastProcessedSeq);}} else {// 启动失败处理throw new RuntimeException(Unable to start activity ComponentInfo{ r.intent.getComponent().toShortString() }: activity returned null from performLaunchActivity);}}职责 调度和管理Activity启动流程。调用performLaunchActivity完成具体的Activity初始化任务。在任务完成后更新状态或者处理启动失败的情况。 (2) ​performLaunchActivity​ 源码ActivityThread.java private Activity performLaunchActivity(ActivityClientRecord r, Intent customIntent) {// 获取组件信息并加载 Activity 类ContextImpl appContext createBaseContextForActivity(r);Activity activity mInstrumentation.newActivity(cl, component.getClassName(), r.intent);if (activity ! null) {appContext.setOuterContext(activity);// 初始化 Activity 的 Context 和资源activity.attach(appContext, this, getInstrumentation(), r.token, ...);activity.onCreate(r.state); // 调用生命周期方法}return activity;}职责 执行具体的Activity初始化逻辑包括 加载Activity类。创建Activity实例并绑定上下文。调用生命周期方法onCreate。 返回初始化完成的Activity实例。 4. 区别对比 通过源码分析可以看出两者在职责和调用上的显著区别 维度handleLaunchActivityperformLaunchActivity功能定位启动流程的入口组织和管理整个任务执行具体的Activity初始化逻辑调用关系调用performLaunchActivity处理具体任务被handleLaunchActivity调用职责范围粗粒度包含任务调度与状态管理细粒度专注于任务的执行异常处理负责任务失败后的回滚和流程恢复不处理异常仅专注于分配的任务 5. 图解调用关系 下图展示了handleLaunchActivity与performLaunchActivity之间的调用关系 ----------------------------| handleLaunchActivity() | -- 调度任务的入口| - 调用 performLaunchActivity() || - 管理流程状态 |----------------------------|v----------------------------| performLaunchActivity() | -- 专注于具体逻辑的执行| - 实例化 Activity || - 调用生命周期方法 |----------------------------6. 设计意义与使用建议 分层设计职责单一化 ​handle​​方法聚焦流程控制不直接实现具体逻辑保证代码结构清晰。​perform​​方法专注于实现某一具体任务避免流程逻辑过于复杂。 异常与状态管理 ​handle​​方法需要负责处理perform方法的异常和任务失败后的回滚操作。开发中建议为perform方法添加保护性调用机制避免影响整体流程。 实践经验 在设计复杂流程时建议模仿Android的这种分层设计 使用handle方法作为调度入口。将任务的具体实现封装到perform方法中。 7. 总结 perform和handle方法的命名规范体现了Android框架设计中的分层思想 ​perform​​方法专注于细粒度的具体任务实现是执行者。​handle​​方法负责流程的组织和调度是调度者。 通过合理区分两者的职责可以提升代码的可维护性、可扩展性以及团队协作效率。以handleLaunchActivity和performLaunchActivity为例Android框架设计展示了如何在复杂的任务管理中清晰划分逻辑让开发者受益良多。
http://www.hkea.cn/news/14319307/

相关文章:

  • 瑞金网站建设光龙飓风 网站建设
  • 温岭专业自适应网站建设深圳 建网站
  • 网站建设 投资合作网站建设及优化
  • 网站推广120响应式网站免费模板下载
  • wordpress搭建电影网站门户网站建设管理工作自查报告
  • 网站建设域名怎么用做食品检测的网站
  • 实木餐桌椅移动网站建设电子商务网站基本功能
  • 关于电子商务网站建设的论文花钱做网站不给源代码
  • 网站设计制作报价图片服务器网站配置
  • 有源代码如何做网站阳谷网页设计
  • 3g手机网站建设网页页面设计模板
  • 杭州外贸网站建设wordpress主题制作难吗
  • 洛阳网络营销推广长沙seo网站排名优化
  • 佛山网站建设 骏域百度小说风云排行榜
  • 郑州网站建设zzmshl在线定制图片
  • 重庆网站建设公司的网站游戏网页界面设计
  • 做微商网站设计下载网站如何做
  • php与mysql网站开发网站降权怎么办
  • 杭州建设职业学校网站重庆seo什么意思
  • 网站开发设计工具陕西网站建设排名
  • 天津正规制作网站公司小企业管理系统
  • 视频网站开发前景如何做的网站浏览器提示不安全
  • 南通网站建设.镇江网站建设一般多少钱
  • 在哪个网站可以做酒店预定单太原网站建设价格套餐
  • 做网站找哪里南宁网站建设托管
  • 在线推广企业网站的方法网站界面(ui)设计形考任务1
  • dede网站404怎么做网站建设计划书下载
  • 如何设计网站站点成都广告设计公司有哪些
  • 网站维护服务基本内容百度广告
  • 新乡手机网站建设官网企业做网站的目的是什么