Chejdj Blog

Java SPI原理介绍

一.背景 最近的一个季度我们想要把我们项目中某个业务功能能够以最小的适配成本迁移到另一个项目当中去用,减少类似功能的重复开发。想要实现不同项目的都能低成本接入,就需要我们把该模块独立出来。但是该模块随着不断的需求迭代开发,在代码层级上不仅仅和项目其他业务代码存在耦合,而且也和很多58底层库存在代码耦合。如何解耦,让该业务更加干净成为一个核心问题,而我们这里使用的核心技术就是Java SPI。...

Gson序列化Kotlin数据类型默认值失效

背景 最近开发的时候遇到一个问题,服务端返回的Json中如果没有某个字段的时候,我需要设置一个默认的值,但是给这个数据类设置默认值1的时候,Json解析之后还是返回了0。 但是项目里面其他数据类设置默认值是有效的。 样例 1 2 3 data class A(val author:String = "", val age:Int=1) data class B(val author:Str...

GoolgePlay模块分发方案调研

Play Feature Delivery 概览 上架到Google Play的aab包,存在150M大小的限制,当超过的时候,Google Play不能上传提审,必须借助Play Feature Delivery功能实现用户按需下载。 功能:能够自定义如何以及何时将应用的不同功能下载到搭载Android 5.0或更高版本的设备上 分发选项 行为...

移动端CI/CD实现方案

一. 现有的工作流程 参考业界比较成熟的移动CI/CD 流程 MCI:移动持续集成在大众点评的实践 有赞零售移动CI/CD实践_移动_原野_InfoQ精选文章 结合我们自身开发流程初步设计CI/CD流程 二. 现有的移动端CI/CD框架 存在以下几个缺点: 上架应用商店耗时严重,家长端/学生端,4个包,包含本地打包,上传应用商店,编辑文案等,按照过去耗时平...

客户端日志组件实现

来到新的公司,正好接到一个需求,需要调研实现一套客户端日志的实现方案 客户端日志组件实现分享PPT

初识Flutter

 来到一个新公司,业务使用是Flutter进行开发,之前说实话我对Flutter是比较悲观的,感觉对于跨平台的技术,我个人认为发展到后期导致无人维护的状态而烂尾。花费了一周的时间,把《Flutter实战》敲了一边之后,纠正了以前的观点(公众号害人不浅),站在开发角度我认为具有一下几个有点: Flutter只是一种跨端的UI实现方案,过于夸大了Flutter的作用,跨平台只是跨的UI平台...

Binder中mmap原理介绍

最近组内开展学习分享的活动,我这边研究了一下binder mmap的原理。 Binder中mmap原理介绍PDF

2019年年度总结

2020年总结,自己第一次走入社会的第一年,本来应该更早写的,但是由于一些变动(或者懒),一直拖着没有写。主要回顾一下去年目标的完成情况。今年最主要几件事情就是: 7月入职Keep做线下播放系统 12月由于公司经营不善,大量裁员,被迫找工作 12月底入职小米,从事小米健康客户端的工作 聊聊几件事情       首先是入职Keep做Keepland线下播放系统,其实这半年...

好的blog收集记录

这个自己收集的博客资源。 基础知识 WebView使用干货 解决方案 Lint常见的问题及解决方案 屏幕的适配方案 Android省电优化全解析 App启动速度优化 知乎客户端启动优化 APP内存优化的方案 常用网站 玩Android 美团技术团队 原理解析 基于场景解析RecyclerView的回收复用 为什么Ha...

《人人都是产品经理》摘要

    《人人都是产品经理》一书主要记录了产品经理责任,应该掌握的技能以及一个产品如何运行过程。 内容摘要 互联网的前十年是内容为王,第二个十年是产品为王,下一个十年或许是平台为王。 产品经理的职位设置目的:想要更了解产品与它面临的竞争情况,最终目的是要满足顾客的需求 管理并不是公司的管理层,如总裁,总监,经理们才需要掌握的技能,而是每个人必备的生存技能,只是每个人可以掌控...