个人周报7/1

个 人 周 报
填表人 何峰 周起始/结束日期 2018/7/22—2018/7/28
本周工作计划:
1、画中画功能的总结,画中画窗口大小计算和位置设定的原理以及关键日志的输出
2、编写一个demo,实现了在画中画模式下直接更换视频的效果
3、学习有关log分析的方法
4、整理对画中画功能源码的分析,并且制作胶片
5、分析了YouTobe、腾讯视频等视频播放软件中进入画中画模式的方法,对比优缺点分析
6、查看YouTube播放视频时按menu键会进入画中画模式的问题
详情
星期日 休息日
星期一 1、 画中画知识点胶片整理完毕
2、 画中画的源码流程大体整理完成
星期二 1、 学习日志的分析方法,查看画中画进入时的关键日志
2、 完善画中画的文档资料
3、 将最近所学的画中画功能,在整体上熟悉一遍,了解整体过程框架
星期三 1、 实现了画中画窗口下直接替换视频的功能,但是需要两个应用才能做到,仍需完善
2、 完成画中画的窗口大小计算,位置设定等源码分析,文档整理完毕
3、 查看WM中窗口大小的改变,再次熟悉以前对WM有关窗口大小的理解并且补充完善
星期四 1、 查找YouTube中按menu键会出现画中画窗口的问题,尚未定位问题所在区域
2、 参加师兄师姐座谈会,了解有关实习生答辩的时间与过程
3、 拉取了8.1的源码,准备按menu键会出现画中画窗口这个问题的调试环境,查看了相关的log,了解流程
星期五 1、 对一些log代表的意义有一定的了解,跟着log的提示去寻找对应的代码位置。仍有一些log对应的代码片段无法找到
2、 通过对比不同的行为日志,对问题产生的原因了解更深入
3、 找到问题怀疑点,修改验证问题
星期六 休息日
本周任务执行情况:
本周计划任务全部完成
下周工作计划:
1、 准备讲解画中画功能的材料,胶片以及相应视频
2、解决YouTube播放视频时按menu键会进入画中画模式
3、分析画中画功能,分屏功能、悬浮窗口的区别和联系
4、跟着导师的培养计划,按时按量跟进导师的安排
5、整理实习以来的成果,复习所学习的知识
本周实习体会:
所遇到的困难:
1、 画中画源码中对窗口的大小设定流程较复杂
解决办法: 先查看最外层的源码逻辑结构,再跟进每一个核心函数,一层一层分解,最后综合理解,有图形代替文字描述,再次理解代码逻辑时会很迅速。首先紧跟核心问题弄懂逻辑,然后再次熟悉源码,整理文档
2、 画中画模式下无法直接更换视频的问题
解决方案:采用了两个activity,一个activity控制视频的选择,一个activity负责视频播放,可以实现直接更换视频的效果。在腾讯视频中画中画模式采用的就是这种两个activity的方式,但是并没有做直接更换视频的功能,YouTobe中采用的是一个activity的方式实现的画中画功能,同样没有实现直接更换视频的效果。
3、 YouTube播放视频时按menu键会进入画中画模式
解决方案: 仍在定位问题中。
收获与感悟:
1、对一个整体的功能模块进行了解,熟悉其创建、设定的过程,对这个功能有一种整体的观念。
2、开始学习对log的分析,掌握其中其中技巧
3、对系统中的整体流程需要熟悉,在日志中一般都会涉及到很多的java文件,快速定位问题需要对每一个模块的功能有大致的了解
其他需要说明的情况:无

个 人 周 报
填表人 何峰 周起始/结束日期 2018/7/15—2018/7/21
本周工作计划:
1、画中画的创建流程
2、画中画窗口大小,位置的设定原理
3、分栈与设定栈大小的学习
4、整理画中画源码分析文档
5、跟进问题单,问题已解决,下一步了解问题单走单的步骤
6、画中画apk测试,发现系统无法在画中画模式下直接更换视频。
7、画中画窗口大小设定的原理,以及如何进入画中画模式
详情
星期日 休息日
星期一 3、 画中画源码分析,分析了进入画中画模式需要进行的操作
4、 寻找灭开屏图片丢失问题的原因,确定了需要加入运行时权限,以及设置View.GONE需要在onStop()中。
星期二 4、 画中画源码分析,整理成文档,准备熟悉下一个功能点
5、 灭开屏后图片丢失问题,编写apk测试完成
6、 参加编程思想与编程规范的培训会
7、 开始学习IBinder的相关知识,了解android中的通信机制
星期三 1、阅读画中画,查找支持画中画的硬件要求,整理使用画中画功能的注意点
2、 编写apk,测试画中画功能,尝试解决画中画模式下无法直接替换视频
星期四 1、 整理了画中画源码中有关默认窗口大小的设置原理,源码较多,需要拆分
2、 阅读了画中画官方文档,对画中画的一些设置对应文件有所了解
3、 使用测试了一部分画中画功能,发现宽高比设定过大时会导致应用崩溃,发现系统对这个问题进行了处理(设置了宽高比是否有效的变量),尝试查找问题。
星期五 1、 画中画功能源码大体阅读完毕,整理加工中
2、 准备画中画功能知识点的胶片
3、 查阅资料,弄懂画中画源码中对窗口大小的设定流程
星期六 休息日
本周任务执行情况:
本周计划任务全部完成
下周工作计划:
1、准备讲解画中画功能的材料,胶片以及相应视频
2、掌握走单的具体流程
3、深入画中画模块的学习,尝试解决系统中无法直接在画中画模式下更换视频的问题
4、跟着导师的培养计划,按时按量跟进导师的安排
5、画中画模块结束后,了解下一个模块
本周实习体会:
所遇到的困难:
1、 画中画中源码逻辑异常,在一个if else中return 了相同的值,并未调用其他函数等,都是直接返回
解决办法:理解为默认设置,在新版本中可能会修改
2、 亮灭屏后图片丢失的问题处理
解决办法:开始采用将onPause()中设置VIEW.GONE改至在onStop()中设置,问题得到改善,后在新版本中无法复现图片丢失问题,问题得以解决。
3、 画中画源码中有关窗口大小设定的代码较多
解决方案:大体上已经疏通完毕,正在重新理解代码,关注细节
收获与感悟:
1、开始与小组内的业务进行接触,了解问题单的走单流程等
2、按功能点熟悉源码,对单独一个模块的理解更加深刻
3、带着自己的问题去学习,对源码中难以理解的地方打一个问号,思考这样写的逻辑是什么,跟着自己最开始想要了解的目标,一点点跟进源码,在不同的函数中跳转,寻找答案
其他需要说明的情况:无

个 人 周 报
填表人 何峰 周起始/结束日期 2018/7/8—2018/7/14
本周工作计划:
1、熟悉android系统windowmanager有关窗口大小改变的流程
2、了解画中画的概念,刷机流程以及修改源码至生效的流程
3、更深入的学习Android布局与控件的知识
4、计算云编译成功,手机刷机成功,且保持一致
5、尝试查看问题单,对问题进行分析,了解流程
6、对画中画功能编写demo
7、解析windowmanager有关窗口大小改变的源码
8、将自身所遇到的问题整理成文档,发布wiki
详情
星期日 休息日
星期一 5、 了解Window与WindowManager的关系,分析两者之间的调用和联系并整理成文档
6、 了解WindowManager的属性(Type、Flag和SoftInputMode)整理成学习笔记
7、 计算云编译程序,排除错误,配置计算云编译环境
星期二 8、 了解WindowManager中窗口大小改变的原理
9、 整理学习过程的资料,计算云配置等过程发布至w3网站
10、 计算云编译程序,排除错误,配置计算云编译环境
星期三 1、 performTraversals函数有关窗口大小改变源码解析并整理成文档
2、 理解WindowManager窗口大小改变的流程
3、 计算云源码编译成功
星期四 1、 编写了一个画中画的demo,实现了画中画中窗口全屏和缩小操作
2、 手机刷机成功,并将计算云上的源码版本与手机刷机的系统匹配
3、 整理了进入公司以来,配置环境所遇到的问题以及解决方案,在w3上发表wiki
星期五 1、 自定义广播的标题设置,实现点击展开,再次点击省略显示的demo
2、 寻找灭开屏图片丢失问题的原因
3、 查看源码分析图片的显示与隐藏
星期六 休息日
本周任务执行情况:
本周计划任务全部完成
下周工作计划:
1、了解android 8.0 项目中的代码结构,熟悉windowsmanager模块
2、深入了解android代码的编写方式以及公司编码的规范
3、编写测试模块,对对应模块进行功能测试,熟悉每一个函数的作用
4、尝试仿造项目代码中某一些功能点,修改部分代码实现功能改变
5、跟着导师的培养计划,按时按量跟进导师的安排
本周实习体会:
遇到的困难:
1、 编译不成功问题
解决办法:尝试多中国方法,在导师帮助下成功编译,编译流程整理发布了wiki
2、 手机刷机后由于登陆过谷歌账号,无法跳过更新
解决办法:采用导师所给命令删除了谷歌账号
3、 源码不熟悉
解决方案:整理思路,从小模块入手,先掌握部分源码再扩展
4、 问题处理能力不足
解决方案:;牢固基础知识,尝试跟进项目组解决问题
收获感悟:
1、需要学的东西还有很多,尝试与项目组对接,了解项目组的任务
2、一方面需要学习,加强自身技能培养,另一方面了解公司流程,在团队中发挥作用
3、学以致用,将自己所学到的东西写成一个个小demo,在实际应用场景中发挥作用,同时,整理遇到的问题以及解决方案,留下学习资料,以后查找学习都会很方便
其他需要说明的情况:无

个 人 周 报
填表人 何峰 周起始/结束日期 2018/7/1—2018/7/7
本周工作计划:
1、android知识体系初接触,开始学习android基本知识,了解android的系统结构
2、学习公司工作方式,使用桌面云、计算云以及各种权限申请步骤,适应公司环境
3、寻找解决问题的方案,询问导师和同事,在网站上查询资料等,培养快速解决问题的能力
4、配置android studio,使用android studio进行代码查看编写,
5、桌面云usb映射配置,使用真机连接测试,现已配置好测试环境
6、计算云环境配置,计算云根目录映射至本地。计算云已拉取android项目代码,可以查看项目代码结构。
7、编写apk,进行真机调试。熟悉android编码
8、本地、桌面云、计算云环境配置完成。调试环境配置完成
详情
星期日 休息日
星期一 8、 申请新机器,拿到桌面云,计算云等
9、 熟悉办公环境,安装办公软件
10、 和导师、主管交流,了解实习任务
星期二 11、 申请实习所需的权限群组
12、 学习android,了解实习期间的工作内容
13、 配置工作环境
星期三 1、本机环境搭建大体完成,android编码环境配置结束,本地连接真机可测试编写的apk文件
2、熟悉android的系统四层架构,创建运行android项目,掌握活动的基本用法和log的基本知识
3、配置桌面云usb映射,以方便测试,暂未完成
星期四 1、了解android控件的基础知识
2、配置计算云环境,大体已经完成,等待群组验证通过,拉取代码至本地
星期五 1、桌面云usb映射完成,可在桌面云上直接调试程序
2、android项目代码成功拉取到计算云上,准备代码结构分析
星期六 休息日
本周任务执行情况:
配置桌面云usb映射群组申请未通过,桌面云映射未完成
本周其他计划任务已完成
下周工作计划:
1、了解android 8.0 项目中的代码结构,熟悉windowsmanager模块
2、深入了解android代码的编写方式以及公司编码的规范
3、编写测试模块,对对应模块进行功能测试,熟悉每一个函数的作用
4、尝试仿造项目代码中某一些功能点,修改部分代码实现功能改变
5、跟着导师的培养计划,按时按量跟进导师的安排
本周实习体会:
遇到的困难:
1、 申请加入群组响应的时间较长并且可能被拒绝。
解决办法:与群组所有者私聊或者发送邮件,一般群组所有者会很快回复并处理
2、 环境配置过程复杂
解决办法:查看多个教程,综合处理,一般单个教程中会存在遗漏步骤或配置不成功现象,多尝试几种方法
3、 项目代码比较复杂,需要整理
解决方案:仔细分析代码结构,需要花费更多时间精力,并且同步学习
4、 代码调试问题
解决方案:1、本地配置android studio进行调试,(本地配置不高,遇到无法运行的问题)。
2、桌面云配置android studio进行调试,开始没有usb映射,无法连接真机调试,而且桌面云无法开启模拟器。配置usb映射后解决问题,现已可以桌面云连接真机调试程序
5、 计算云配置问题
解决方案:按w3网站上的教程可顺利配置计算云,需要注意的是需要申请对应群组后才可下载android代码
收获与感悟:
1、解决问题时先查找相关资料,在公司网站上有很多帮助文件,遇到棘手问题可以先询问同事,很多时候他们也遇到相同的问题并已经解决,有很好的建议,最后询问导师,在导师的帮助下,一般可以解决问题
2、申请群组一定要和群组拥有者沟通,即使被拒绝也会说拒绝的原因并给出正确的方法,如果不沟通,就会很迷茫,不知道被拒绝原因和下一步如何去做。本人遇到的群组所有者都比较好沟通,给予了很实用的建议
3、基础知识要不断巩固,因为是新接触android,有很多基础知识需要去了解,在熟悉项目代码时需要一点点的深入,熟悉android的项目结构
其他需要说明的情况:无

你可能感兴趣的:(实践学习)