ID:303684

yuanlulu 有团队

高级Android开发工程师

  • 公司信息:
  • 深圳腾讯信息技术有限公司
  • 工作经验:
  • 8年
  • 兼职日薪:
  • 700元/8小时
  • 兼职时间:
  • 下班后
  • 周六
  • 周日
  • 所在区域:
  • 重庆
  • 全区

技术能力

8 年 Android 开发经验,熟练掌握 Android 开发技术
精通 java、kotlin,熟悉 flutter、dart
精通 okhttp、mvvm、jetpack、livedata、databinding、room、lifecycle、rxjava、模块化、组件化
熟悉常用的数据结构及算法,了解泛型、反射、自定义注解及其原理,多次使用常用的设计模式重构代码
熟悉单例模式、建造者模式、观察者模式、工厂模式等
精通自定义 View,熟悉 View 绘制流程,能利用事件分发原理解决 UI 交互问题 有阅读图片框架 Glide 底层源码
对 app 性能监控和性能优化有自己的理解,并有相应的实战经验
对 flutter 开发有自己的项目经历
具备较强的责任感和主动性,良好的沟通能力和团队协作精神

项目经验

以下是保利耕耘、保利青云、悦家经济云等项目的重难点:
架构设计
采用 MVP 模式将 Activity 中的业务逻辑全部分离出来,让 Activity 只做UI 逻辑的处理,所有跟Android API 无关的业务逻辑由 Presenter 层来完成,降低了耦合度,使得层级职责更加明确。使用泛型和 Dagger2 中的注解,通过依赖注入的方式完成 Presenter 的Model 的创建,避免了View层直接创建 Present 与 Present 层直接创建 Model 造成的依赖关系,将 View 层与Presenter 层,Present层与 Model 层进行解耦,降低了模块的耦合度。
网络模块
基于 retrofit+rxjava 进行了二次封装, 构建了初始化 retrofit 工具类的基类netWorkApi,内部对OkHttpClient 进行初始化并配置了相关的拦截器,避免了重复创建 Retrofit 实例以及重复配置属性。将拦截器的具体实现交由子类,业务开发者只需要继承并在指定的方法实现特定的拦截处理,即可将请求头,参数等进行动态配置。
封装了 BaseObserver 来处理服务器响应以及响应数据的基类 BaseResponse,使得业务开发者只需在使用的时候添加自己对应的接口和 Bean,调用方便简洁。
Service 保活
由于 Android 系统的限制,不允许服务在后台长时间运行,我们采用集成小米推送、华为推送、个推等推送的方式,服务端定时推送消息,拉起服务,实现实时上传骑手位置信息,在地图上形成配送轨迹订单管理界面
UI 采用 View Pager 嵌套 Fragment 的方式,进行完全 lazyLoad, 主要在Fragment 中的setUserVisibleHint()方法中结合标识位来判断 Fragment 处于不可见到可见,可见到不可见哪种状态,从而执行对应的网络数据加载或网络请求取消,优化网络请求 api 的设置,减少了偶现的由于网络加载带来的卡顿,同时减少了不必要的 fragment 页面数据缓存而带来的极端情况下的内存OOM。
性能优化
app 的内存优化:包括内存抖动、内存泄露的发现与解决、优化应用内存占用、实现了一系列的内存兜底策略。经过几个版本的内存治理之后,项目主页的运行时内存占用由最初的180MB降低至150MB,平均减少 20% 左右。
app 的包体积优化:针对代码、资源、So 等维度做了一系列的优化,经过几个版本的优化,共计减少 APK 体积 8MB 左右。
app 的布局加载优化:主要是对项目中的部分页面使用了 ConstraintLayout 进行优化,针对其它的页面布局采取了一系列的布局优化技巧进行优化。
通过 Systrace+TraceView 工具来对应用程序进行冷启动分析,定位到具体的代码,将MultiDex初始化放到新的进程进行初始化,解决了部分机型出现 ANR 或者长时间卡顿不进入引导页的情况,大大缩短到应用启动的时间。
长图加载
通过自定义一个加载长图的 View,在自定义 View 内部通过 BitmapRegionDecoder 指定每次只加载一块区域的 Bitmap,然后配合 GestureDetector 与 Scroller 完成手势滑动改变Rect 完成View的滑动效果,有效的解决了长图加载时造成系统 OOM,降低了应用占用的内存。

团队情况

  • 整包服务: 微信小程序开发   PC网站开发   H5网站开发   App开发   WebApp开发   其他开发   
角色 职位
负责人 高级Android开发工程师
队员 产品经理
队员 UI设计师
队员 iOS工程师
队员 安卓工程师
队员 前端工程师
队员 后端工程师

案例展示

  • 保利青云

    保利青云

    项目描述:房地产经纪人销售房产、包括房产介绍、小视频、聊天、类似抖音的一个项目 责任描述:架构设计、技术选型、难点视频模块的编写 技术要点: mvvm+kotlin+jetpack+okhttp+rxJava+livedata+databinding+room+flutte

  • 保利耕耘

    保利耕耘

    该案例为房产中介的一个项目管控工具,里面包括项目管控、销售数据、电子客档、即时通讯等。 架构设计 采用 mvvm 模式将 Activity 中的业务逻辑全部分离出来,让 Activity 只做UI 逻辑的处理,所有跟Android API 无关的业务逻辑由 ViewMod

查看案例列表(含更多 0 个案例)

信用行为

  • 接单
    0
  • 评价
    0
  • 收藏
    0
微信扫码,建群沟通

发布任务

企业点击发布任务,工程师会在任务下报名,招聘专员也会在1小时内与您联系,1小时内精准确定人才

微信接收人才推送

关注猿急送微信平台,接收实时人才推送

接收人才推送
联系需求方端客服
联系需求方端客服