摘要: 这个系列文章前期回顾: 《我体验过的手机们之二》 《体验:我买过的手机们》 新增两个: 1, 红米Pro: 优点:手感丝滑;屏幕显示很讨喜;电池续航非常好;MIUI8双卡应用和手机分身很不错; 缺点:照相渣,双摄像头照相效果更是渣,焦外纯靠涂抹根本不是好看的景深效果,摄像头动不动就启动不了要重启才能 阅读全文
posted @ 2017-01-18 11:33 Mosthink 阅读(206) 评论(0) 推荐(0) 编辑
摘要: 先通过ppt了解下ASM和AOP,然后通过github上的一个仓库代码看一下demo。 下面来看demo,这个demo完成了对目标类的方法注入执行时间统计的代码,在github:https://github.com/Viyu/AOPWithASMLib 下图展示了demo的调用关系: 假如在一个An 阅读全文
posted @ 2017-01-18 10:33 Mosthink 阅读(3978) 评论(0) 推荐(0) 编辑
摘要: 创建工程目录; 在目录下创建src/main/java目录; 在上面创建的目录下创建package和.java代码文件; 回到工程根目录,创建build.gradle文件,写入: apply plugin: ‘java’; 执行gradle build就可以编译了。 如果要增加jar包依赖,在bui 阅读全文
posted @ 2017-01-17 19:20 Mosthink 阅读(6433) 评论(0) 推荐(0) 编辑
摘要: 目标:通过面向切面编程来实现对源代码无侵入的埋点。 方式 能力 缺点 学习曲线 XPosed 运行期hook 能hook自己应用进程的方法; 能hook别的应用的方法; 能hook系统方法; 1,手机需要root; 2, 依赖三方包的支持,碎片化严重兼容性差; 一般 DexPosed 运行期hook 阅读全文
posted @ 2017-01-03 18:53 Mosthink 阅读(5705) 评论(0) 推荐(0) 编辑
摘要: 如果一个列表数据是分页加载的, 就需要分页合并,即每次拉取新的一页时,将新到的一页数据合并到之前的列表数据中。 这个可以是很简单的,比如数据结构是这样的: data { list: [] } Merge方法极其简单,直接将新一页数据addAll到本地的列表数据结构中。 但如果这个接口除了接口数据还捎 阅读全文
posted @ 2016-11-25 18:47 Mosthink 阅读(1388) 评论(0) 推荐(0) 编辑
摘要: App进入页面请求服务器,在数据返回之前,没什么给用户看,所以我们用一种缓存系统来保存上次请求的数据,这次进入的时候先把缓存数据绘制到UI上,让用户先看到整个页面布局和可能过时的数据,等网络数据返回后再刷新一遍页面,以此来提高用户体验。那么就带来两个问题: 1, 什么样的数据应该缓存起来? 2, 什 阅读全文
posted @ 2016-11-22 10:53 Mosthink 阅读(1540) 评论(0) 推荐(0) 编辑
摘要: 客户端的加载流程和样式应该收敛内置到底层框架中的,对常规页面来说,这些流程和规范是无须上层业务关心的。 好处: 1, 统一的UI UE体验; 2, 把业务开发人员从加载样式中解放出来,不必在业务逻辑代码中插入各种弹出、关闭加载样式的代码,业务自己做的话很容易漏掉,导致加载状态异常; 3,方便后续修改 阅读全文
posted @ 2016-11-21 10:58 Mosthink 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 不管是修改还是新建文件,都必须通过git add把这次修改从工作区加到暂存区; commit只是提交暂存区的修改,还没add到暂存区处于工作区的修改是不会commit的; git checkout可以将工作区的文件用暂存区的文件去替换掉,用于没commit之前; git reset —mixed可以 阅读全文
posted @ 2016-11-08 11:45 Mosthink 阅读(226) 评论(0) 推荐(0) 编辑
摘要: 路由模块: 解耦各个业务,统一收敛页面跳转,动态决策跳转实现; 鉴权模块:收敛鉴权项目(比如登录、输入密码、短信验证、扫脸),后台动态控制鉴权项目; 收银台:收敛支付,统一到收银台; 开关: 动态控制,防止大规模灾难; 白名单: 内测; 模块化: 分组 + 解耦; 插件化: 模块化是插件化的前提,插 阅读全文
posted @ 2016-09-19 11:01 Mosthink 阅读(417) 评论(0) 推荐(0) 编辑
摘要: 最近带领了一个大概150人天的项目,做一些备注: 1, 知人善用。 排期分任务的时候,要先了解每个团队成员的特点,包括技术水平、性格,看他是适合做技术难度大的模块还是适合做业务逻辑复杂的模块。 2, 先松后紧。 这次项目大概有三周开发时间,前两周的任务进度严格要求,不给任何人延后排期,push团队成 阅读全文
posted @ 2016-08-23 22:48 Mosthink 阅读(385) 评论(1) 推荐(0) 编辑
摘要: PPT 的字的字体尽量不要出现太多种,字号可按一级、二级标题来定,字色与背景色需要有足够差,演示时可视(注意电脑效果与投影效果是有差别的),然后才是美观; 分享时间以40分钟左右为准; 分享前要大家先过一遍,所提出的意见需要重视; Slides 尽量不要有大段文字,可以列重点,层次分明,细节是通过讲 阅读全文
posted @ 2016-07-15 10:15 Mosthink 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 互联网敏捷开发的流程可以演绎出很多玩法,但最好都遵循以下几个tip: 1, 对项目经理最重要的一条是,通读所有需求文档,跟相关PM进行彻底沟通,把需求都搞熟搞透,防止漏排任务; 2, Stroy拆分要细,每个任务都是可单独验收的; 3, 一个Stroy的排期最长不要超过三天,不然无法及时验收,会存在 阅读全文
posted @ 2016-06-24 10:06 Mosthink 阅读(920) 评论(0) 推荐(0) 编辑
摘要: 公司的目标不是你的目标,但公司的目标是你达成自己目标的途径。 一个没有增长的业务是无法给你带来成长的机会的,也不会给你提供提高技术的机会,因为提高技术靠遇到足够多的问题,足够多的问题靠业务的增长才能带来。 工作以结果为目标,不以完成任务为目标,没有结果的目标是没有价值的。 要敢设定高远的理想目标,是 阅读全文
posted @ 2016-06-17 20:40 Mosthink 阅读(428) 评论(0) 推荐(0) 编辑
摘要: Work around的方法是先监听onTouch事件来监听连续点击次数,每次点击都布置一个间隔时间的延时任务,延时任务执行时判断间隔内是否还有点击,如果没有则发布点击次数,重置计数。 实现代码如下: 使用代码: 简洁直接的方法是用GestureDector类: 阅读全文
posted @ 2016-05-24 20:53 Mosthink 阅读(20183) 评论(0) 推荐(0) 编辑
摘要: 互联网企业是技术密集型企业,互联网企业的技术团队要不断学习进步,提高生产力,才能满足互联网的节奏。 以下是我总结的一些提升团队战斗力的点。 1, 分享之组内技术分享: 组是团队的最小单位,比如Android组,IOS组。组内安排每个人轮流做分享演讲,偏重于深入的、前沿的技术专题。这种分享的目的是带领 阅读全文
posted @ 2016-05-20 19:19 Mosthink 阅读(3208) 评论(0) 推荐(0) 编辑
摘要: 设计MVP之前,先要确定好以下模块之间是一对多还是一对一的关系: View > Presenter --> Model --> Interface(URL) 就是一个View只会有一个Presenter还是可以有多个? 一个Presenter只会有一个Model还是可以有多个? 一个Model对应一 阅读全文
posted @ 2016-05-16 22:18 Mosthink 阅读(375) 评论(0) 推荐(0) 编辑
摘要: 这张图是互联网产品研发的一种最佳实践,这张图中没有包含异常流的处理。通常异常出现在进入开发甚至测试阶段了还在变更需求,进入封版发版阶段了还在修改代码,所以在这两个时间点都有需求冻结和代码冻结。 阅读全文
posted @ 2016-05-16 16:44 Mosthink 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 架构是系统层面的,可以是多层架构,也可以是事件驱动架构,也可以是微服务架构。 模式是GUI应用的一种职责分离设计。 三层架构(包含多层架构)和 MVC模式(包含MVP, MVVM) 没什么关系,它们不在同一个维度上。 三层架构是从整个应用程序架构的角度来分为DAL(数据访问层)、BLL(业务逻辑层) 阅读全文
posted @ 2016-05-12 16:57 Mosthink 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 标记语言式的UML图编写工具,插件全名:PlantUML integration. 注意这个还要安装另一个软件:http://www.graphviz.org 并在PlantUML的设置中指定其路径。 这个语法挺多,类图的话这几个就够用了: 阅读全文
posted @ 2016-05-09 11:38 Mosthink 阅读(1982) 评论(0) 推荐(0) 编辑
摘要: 这个Android Studio插件可以根据JSONObject格式的字符串,自动生成实体类参数. 具体见:https://github.com/zzz40500/GsonFormat 阅读全文
posted @ 2016-05-09 11:14 Mosthink 阅读(438) 评论(0) 推荐(0) 编辑