1、 熟练使用java、kotlin和fluttee.熟悉使用编译器,如Android Studio
2、熟练使用java设计模式,熟悉JNI开发,熟练Android常用架构,如mvc,mvvm,mvp。熟悉组件化开发
3、熟练使用Android四大组件和常用布局view,如listview,recycleview。
5、 熟悉掌握android的消息消息机制和线程、跨进程,如handler、asynctask、handlerThread、ThreadPoolExecutor。
6、熟悉掌握view的事件分发机制,熟悉使用自定义view,熟悉Android内部事件分发机制和view绘制过程。
7、熟练使用Android布局优化、内
存优化。如include、merge、viewstub和bitmap优化、threadPoolExecytor、三级缓存、弱引用强引用。
8、熟悉使用存储方式和数据库。熟练Android性能检测工具和性能优化工具,如腾讯的gt、Google的lint工具和性能优化工具memory monitor、memory analyzer、leqkcanary。
9、熟悉使用第三代sdk如微信支付宝,科大讯飞、高德、直播等.
做事认真负责代码严谨可读性扩展性好
PDF阅读器是一款阅读器,内核使用的是foxit的so包,安装在pagex水墨平板上,类似于kindle,用户可以在上面阅读修改pdf、txt等格式的文件,也可以对文件格式进行转换,比如jpg转换成pdf,pdf的某个page转换成jpg保存。
1.主界面是书籍管理器,使用自定义recyclerview,展示书籍。
2.点击书籍进去是pdf界面,使用foxit的so包去解析pdf阅读器,可对pdf阅读器进行添加笔记,画,高亮,长按选中等等功能。由于foxit提供的view不符合需求,使用他们的jni,自己去封装,自定义viewgroup。
3.设计PDFView,定义集合存储pdf的界面,缓存设计为最多3个,模仿viewpager源码,重新定义滑动事件。实现放大缩小,手指触摸离开屏幕三秒,实现重新从pdf里面获取新的page转换成bitmap。
4.根据jni,实现橡皮擦功能,就是通过画的坐标点去获取周围的笔记,如果有笔记就从中删除点,根据项目经理提供的算法去实现快速删除。
5.删除pdf的某个page和添加page功能,通过jni去添加,然后刷新jni,界面刷新去显示。
6.自定义线程池,界面切换通过线程池去实现。
7.pdf缩略图通过jni获取pdf的所有page,转换成bitmap,使用线程池去控制,滑动界面就线程池添加线程,去实现显示刷新。