Files
mkdocs/docs/Obsidian笔记体系/Daily/2024-06-01.md
renjianbo bf169cc8b2 测试
2026-01-12 18:12:00 +08:00

5.3 KiB
Raw Blame History

2024-06-01

基本信息

  • 日期: 2024-06-01
  • 星期: 星期六
  • 天气: 晴
  • 心情: 良好

今日计划

工作安排

  • 完成系统服务定制开发
  • 代码审查
  • 性能测试

学习计划

  • 阅读Activity启动流程源码
  • 学习Binder机制

其他计划

  • 整理项目文档

工作记录

已完成

  • ✅ 完成系统服务定制开发

    • 时间: 09:00 - 12:00
    • 内容: 完成了PackageManagerService的定制开发,增加了应用管理功能
    • 收获: 深入理解了PackageManagerService的工作机制
  • ✅ 代码审查

    • 时间: 14:00 - 16:00
    • 内容: 审查了团队成员的代码,提出了改进建议
    • 收获: 通过代码审查学习到了不同的实现思路
  • ✅ 阅读Activity启动流程源码

    • 时间: 16:00 - 18:00
    • 内容: 阅读了Activity启动流程的源码,理解了跨进程启动机制
    • 收获: 理解了Activity启动的完整流程,包括AMS、ApplicationThread等关键组件
    • 相关链接: 02-Activity管理/Activity启动流程(跨进程)

进行中

  • 🔄 性能测试
    • 开始时间: 18:00
    • 当前进度: 已完成启动时间测试,正在进行内存测试
    • 遇到的问题: 内存测试数据异常,需要进一步分析
    • 下一步计划: 分析内存测试数据,找出问题原因

待处理

  • ⏳ 学习Binder机制
    • 计划时间: 明天
    • 优先级: 中

学习记录

技术学习

  • 学习内容: Activity启动流程源码分析
  • 学习时间: 16:00 - 18:00
  • 学习方式: 阅读源码
  • 关键收获:
    1. Activity启动是跨进程的,应用进程通过Binder与AMS通信
    2. 如果目标进程不存在,AMS会先创建进程,再启动Activity
    3. Activity的生命周期由AMS统一管理,通过ApplicationThread回调
  • 相关链接: 02-Activity管理/Activity启动流程(跨进程)

源码阅读

  • 阅读模块: ActivityManagerService
  • 阅读时间: 16:00 - 18:00
  • 关键理解:
    • AMS负责Activity的启动、生命周期管理
    • 通过Binder与应用进程通信
    • 管理Activity栈(Task、Stack)
  • 疑问:
    • Activity栈的管理策略是什么?
    • 如何优化Activity启动性能?
  • 相关链接: 02-Activity管理/Activity栈管理(Task&Stack)

问题解决

  • 问题描述: 系统服务定制后,某些应用无法正常启动
  • 解决过程:
    1. 查看日志,发现权限检查失败
    2. 分析代码,发现权限检查逻辑有问题
    3. 修复权限检查逻辑
  • 解决方案: 修复了PackageManagerService中的权限检查逻辑
  • 经验总结: 系统服务定制需要特别注意权限管理,不能影响应用的正常使用
  • 相关链接: 项目A-系统定制化/关键问题记录

会议记录

项目进度会议

  • 时间: 10:00 - 11:00
  • 主题: 项目A进度讨论
  • 参与人: 项目团队
  • 关键内容:
    • 讨论了项目进度
    • 确定了下一步工作计划
    • 分配了任务
  • 行动项:
    • 完成性能测试
    • 修复发现的问题
  • 相关链接: 项目A-系统定制化/README

思考与总结

今日收获

  1. 技术收获: 深入理解了Activity启动流程,对Android系统架构有了更清晰的认识
  2. 工作收获: 完成了系统服务定制开发,积累了系统定制经验
  3. 学习收获: 通过源码阅读,提升了代码理解能力

今日反思

  • 做得好的地方:

    • 按时完成了开发任务
    • 通过源码阅读加深了理解
    • 及时解决了遇到的问题
  • 需要改进的地方:

    • 性能测试进度较慢,需要加快
    • 学习计划执行不够充分
  • 改进计划:

    • 明天重点完成性能测试
    • 安排时间学习Binder机制

明日计划

  1. 完成性能测试,分析测试结果
  2. 修复发现的问题
  3. 学习Binder机制,阅读相关源码

技术笔记

Activity启动流程

  • 内容: Activity启动是跨进程的,涉及多个组件协作
  • 关键理解:
    • 应用进程通过Binder与AMS通信
    • AMS负责Activity的启动和生命周期管理
    • ApplicationThread作为Binder服务端,接收AMS的调用
  • 相关链接: 02-Activity管理/Activity启动流程(跨进程)

系统服务定制

  • 内容: 定制PackageManagerService,增加应用管理功能
  • 关键理解:
    • 系统服务定制需要深入理解源码
    • 需要注意权限管理,不能影响应用正常使用
    • 充分的测试很重要
  • 相关链接: 项目A-系统定制化/技术方案设计

问题与疑问

问题1: Activity栈管理策略

  • 问题描述: Activity栈的管理策略是什么?如何优化?
  • 思考: 需要阅读Activity栈管理相关源码
  • 待解决: 明天阅读相关源码

问题2: 性能测试数据异常

  • 问题描述: 内存测试数据异常,需要进一步分析
  • 思考: 可能是测试方法有问题,或者系统确实存在内存问题
  • 待解决: 明天分析测试数据,找出问题原因

相关链接

备注

  • 今天工作状态良好,完成了主要任务
  • 需要加快性能测试进度