Shen Lin

由 MTK 关机闹钟实现,浅析一种低侵入式修改 framework 方案

最近在修复一款 MTK 平台机器关机闹钟相关的 bug,简单了解了一下 MTK 关机闹钟的实现原理。发现相比于在 framework 里直接大动干戈,MTK 对框架的定制修改则采用了一种侵入性相对较小的方案,本文对这种方案进行了简单分析。 AlarmManger 实现关机闹钟 长期以来,AlarmManager 作为 Android 系统中掌管 Alarm 的组件,一直没有关机闹钟的原生实...

build.gradle,从 groovy 到 kts 迁移指南

先说结论 为什么要迁移?主要是因为现在够稳定了。而且说实话,大部分国内 andriod 开发者对 groovy也就是个依葫芦画瓢的水平,而 Kotlin 是 app 开发过程中的主要语言,是一定要熟练掌握的,现在 Gradle 插件开发也支持用 Kotlin 写了,迁过去之后也方便无缝学习插件开发,没必要硬着头皮再去啃 groovy。 迁移不难,但官方现在没有提供工具,没办法像 ...

使用 Statically 配合 Github 做一个带 CDN 的图床

Jekyll 写博客有个好处,就是可以直接调用 assets 下面的图片,但是部署到 Github 之后,由于众所周知的原因,在国内的访问速度可能会被图片加载拖慢,这个时候套上 Statically 可以加快访问速度,啪一下很快啊,一个图床就诞生了。 使用方法 把文章里要引用的图片,假设叫 screenshot.jpg,放到网站根目录的 assets/img/posts 。...

2016 Macbook Pro 13' 安装 AORUS GTX1080 8G Gaming Box 完整教程

最近为了吃鸡入了一块 AORUS GTX1080 8G Gaming Box,本来打算上 Dell 的 外星人Alienware ALPHA(阿尔法)R2,可是实在是太太太太太贵了,再加上当时买这台 Macbook 的时候我升到了 i7 + 16G RAM,感觉也没必要为此新买一台电脑,因为理论上来讲目前的配置,只差一块给力的显卡就能顺利吃鸡,于是就有了接下来要做的。 前言 因为苹果的一...

Android Architecture Components 入门(一)—— Android Room Library 简单使用

Google 在今年的 IO 大会重点介绍了它们最新推出的 Android Architecture Components,其中最重要的一个就是 Room。在 Ormlite、GreenDao,甚至 Realm 大行其道的今天,Google 自己也总算造了一口锅自己背上了(只求 Google 日后不要轻易弃坑)。 这篇文章没有太多深奥的源码分析,因为我下午看完官方文档之后,还是觉得有点复杂...