Rinfon Chan's Blog


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 搜索

(Chinglish翻译系列) App启动时间

发表于 2019-07-23

用户希望App能快速响应并且快速打开。如果一个App启动速度慢,那么有可能会导致用户失望。这一系列的情况会导致用户给你5星差评并且卸载你的软件。

这篇文章提供了一些有用的信息去帮助你控制好你的App启动时间。先解释一下App启动过程,然后讨论如何去分析启动性能,最后讨论一下常见的启动问题,并且给出一些定位这些问题的小技巧。

理解App启动过程

App启动可分为三种类型,每一种类型都会影响到你App展现给用户的时间:冷启动、暖启动和热启动。在冷启动中,你的App是重零开始。在剩下的两种类型中。系统需要把在后台运行的App移到前台。我们强烈建议你总是基于冷启动进行优化,这样也可以提高暖启动和热启动的性能。

了解在App启动过程中系统发生了什么,以及他们在这过程中是如何互动的。对优化你的App启动速度是很有帮助的。

阅读全文 »

LRUCache

发表于 2019-05-21

最近最少使用缓存算法,顾名思义,通过抛弃最近不使用的数据。在Android里面的LRUCache和DisLruCache都是使用这种算法。分别对应的是内存缓存和硬盘缓存。

原理

通过LinkedHashMap双向链表来实现LRUCache的。LinkedHashMap有两种顺序,一种是LRU,而另一种则是按照插入顺序来读取。

LinkedHashMap的核心思想就是无论get还是put,都把数据插入链表尾端,然后当内存缓存达到最大值的时候,直接抛弃链表顶端数据即可。

原理图引用网上的,我已经找不到出处了。

阅读全文 »

那些年,我们一起做过的Android优化

发表于 2019-05-18

“那些年,我们一起做过的Android优化” 是由六把斧编剧,Android studio监制,AS调试技巧、卡顿优化、内存优化、耗电优化等改编的小说,讲述了程序猿和Android优化之间令人操蛋的恩怨情仇。

上面都是瞎几把说的。这系列主要分为一下四个方面来说

  • AS调试的技巧
  • 卡顿优化
  • 内存优化
    阅读全文 »

Android模块化实现

发表于 2019-05-16

简单性和模块化是软件工程的基石;分布式和容错性是互联网的生命。 《Tim Berners-Lee》

什么是模块化

个人认为模块化是对整个项目的解耦以及项目维护带来极大的优势。而且在协同开发的导致各种各样的问题(例如文件冲突等问题)

模块化还可以实现模块内自管理,模块内你可以自由发挥你的管理方式,不管你是mvp,mvvm。每个人维护若干个模块。

阅读全文 »

Android Apk破解

发表于 2019-03-01

自己动手,丰衣足食

工具

  • MT管理器.apk

开始

多年前在iOS上进行过逆向,到现在为止还是无法忘记FLEX带给我的冲击是有多大,强大的方法搜索,丰富的社区破解资源。原来逆向可以这么简单,找到对应的方法(俗称G点),修改个返回值,各种VIP沾手就来。后来去搞Android的时候,居然没有对应的软件可以实现上述的功能。由于平台的差异,iOS能够获取到运行时内存上的数据,然后进行修改。Android则不行,需要对Apk进行逆向,修改,打包。

阅读全文 »

Android蓝牙连接问题

发表于 2019-02-23

问题

部分在使用FastBleLib的时候,会出现连接失败
错误码为BleException { code=102, description='GATT discover services exception occurred!'}、或者连接上了,却找不到读写服务。

解决方法

  • 设备蓝牙库的问题,需要更换蓝牙库
  • 在进行蓝牙连接的时候,重连多次
  • 去到系统蓝牙设置页面,手动点击蓝牙配对,然后再回到app内进行蓝牙重连。
    阅读全文 »

黑苹果安装

发表于 2019-02-23

##前言
之前在我的Macbook Pro里面进行项目编译的时候发现,实在是太慢了。而且还老是编译失败,总感觉哪里出问题了。无奈已经太旧了,并不是很想去碰它。但家里工作需要,想想台式也不能白白浪费。所以就折腾了一下黑苹果。

配置

  • i5 9600k
  • GTX 1060 6g
  • 技嘉Z360M aorus pro
    阅读全文 »

Android自动化测试流程

发表于 2019-02-14

前言

现在基本上项目没有一个完整而且自动化的测试流程,所以总会出现一些低级的,重复的错误。所以需要一个完整完善的自动化测试流程。

Uiautomator2+Pytest+Allure

uiautomator2 是一个Android UI自动化框架,支持Python编写测试脚本对设备进行自动化。底层基于Google uiautomator。

特点:

  • 基于uiautomator的模拟点击,触摸事件等
    阅读全文 »

Builder模式

发表于 2019-01-21

前言

之前在研究RxJava的时候,就深深的迷上了这种代码调用方式,简洁明了,逻辑也清晰。后台在使用Glide的时候发现这种.调用方法真的很舒服。

阅读全文 »

Redis Docker搭建

发表于 2019-01-17

Docker安装

  1. 官网下载Docker
  2. 双击安装

Redis安装

  • 命令行执行docker search redis
    得到结果
    -w622

    阅读全文 »
12
Rinfon Chan

Rinfon Chan

程序员的百宝箱

16 日志
19 标签
RSS
GitHub
推荐阅读
  • MVP
© 2019 Rinfon Chan
由 Hexo 强力驱动
|
主题 — NexT.Mist v5.1.4