Colourful Day

我需要,最狂的风,和最静的海。

——顾城《第八个早晨》


  • 首页

  • 分类

  • 归档

  • 标签

  • 留言

  • 关于

关于使用AlarmManager的注意事项

发表于 2017-01-21 | 更新于 2018-11-11 | 分类于 Android Blog | 评论数:
快过年了,更新春节前的最后一篇博客。 最近在做一个需求:客户端按照规定的时间间隔向服务端发送定位。一看到这个需求就想到了使用 AlarmManager 来实现。 AlarmManager 经常被用来执行定时任务,比如设置闹铃、发送心跳包等。也许有人会有疑问:为什么不能使用相同具有定时效果的 Timer 和 Handler 呢? 其实答案非常简单,相对于 Handler 来说,使用 sendEmptyMessageDelayed 方法是依赖于 Handler 所在的线程的,如果线程结束,就起不到定时任务的效果;而 AlarmManager 依赖的是 Android 系统的服务,具备唤醒机制。比起 ...
阅读全文 »

Say Hello To 2017

发表于 2017-01-14 | 分类于 岁月如歌 | 评论数:
时隔半个月才想起要写一篇年度总结(主要是太懒懒懒了\(╯-╰)/),这么快 2016 年又过去,而 2017 年却已经来临了。 2016现在回望 2016 年,发现过得也是浑浑噩噩,时间总是在不知不觉中流逝。自从 2016 年的 6 月份毕业开始,算是真正地踏上社会了。尽管万般不情愿,但还是离开了温暖的校园生活,这也意味着自己需要承担更多的责任和义务,加油! 在工作上也并不是一帆风顺,经历过之前八月份的贸然离职后,也懂得了做任何事都需要理性思考,而不是凭着自己的“任性”,不然迟早会付出惨痛的代价。这也教导我要学会珍惜现在,才能放眼于未来。 在过去的 2016 一年里,自己对于 Android ...
阅读全文 »

EventBus源码解析

发表于 2016-12-20 | 更新于 2019-03-05 | 分类于 Android Blog | 评论数:
0001B时近年末,但是也没闲着。最近正好在看 EventBus 的源码。那就正好今天来说说 EventBus 的那些事儿。 EventBus 是什么呢(相信地球人都知道→_→)? EventBus is a publish/subscribe event bus optimized for Android. 这是官方给的介绍,简洁、明了、霸气。翻译过来就是:EventBus 是一种为 Android 而优化设计的发布/订阅事件总线。这官方的套词可能有些人看了还是不懂。。。 简单地举了栗子,EventBus 就好像一辆公交车(快上车,老司机要飙车 乀(ˉεˉ乀) )。相对应的,发布事件就可以 ...
阅读全文 »

ButterKnife源码分析

发表于 2016-12-18 | 更新于 2019-03-05 | 分类于 Android Blog | 评论数:
0x01 前言在程序开发的过程中,总会有一些场景需要去写重复冗余的代码。而程序员一般都是懒惰了(懒惰促使人进步 ^ο^ ),所以就出现了很多可以减少重复工作的框架或者工具。比如今天要分析的主角—— ButterKnife ,如果你做 Android 开发却没有听说过 ButterKnife 那就 Out 啦。ButterKnife 使用依赖注入的方式来减少程序员去编写一堆 findViewById 的代码,使用起来很方便。那么接下来就一步步地带你深入理解 ButterKnife 框架。PS:最近写的博客篇幅都有点长,请耐心阅读!Logo 图镇楼! 0x02 ButterKnife 的使用方法 ...
阅读全文 »

ECMAScript新功能

发表于 2016-12-09 | 更新于 2017-11-04 | 分类于 JavaScript Blog | 评论数:
let 为块作用域 eg. 1234if(true){ let apple = 'apple';}console.log(apple); 以上代码会报错: apple 没有定义 const 恒量,一旦声明就不能再改变它的值 eg. 12const apple = 'apple';apple = 'orange'; 以上代码会报错: apple 只能是 read-only 解构数组 eg. 12345function breakfast(){ return ['cake', 'cookie', 'milk'];}let [tmp ...
阅读全文 »

Android项目中集成React Native

发表于 2016-12-04 | 更新于 2016-12-14 | 分类于 React Native Blog | 评论数:
集成React Native的步骤 运行以下命令 : $ npm init 生成 package.json ,下面给出一份 Demo : { "name": "HelloWorld", "version": "0.0.1", "private": true, "main": "index.android.js", "scripts": { "start": "node node ...
阅读全文 »

Volley框架源码解析

发表于 2016-11-19 | 更新于 2019-03-05 | 分类于 Android Blog | 评论数:
0001B在 2013 年的 Google I/O 大会上,Volley 网络通信框架正式发布。Volley 框架被设计为适用于网络请求非常频繁但是数据量并不是特别大的情景,正如它的名字一样。Volley 相比其他网络框架而言,采用了在 Android 2.3 以下使用 HttpClient ,而 Android 2.3 及以上使用 HttpUrlConnection 的方案。这是因为在 Android 2.3 以下时,HttpUrlConnection 并不完善,有很多 bug 存在。因此在 Android 2.3 以下最好使用 HttpClient 来进行网络通信;而在 Android 2 ...
阅读全文 »

热修复框架HotFix源码解析

发表于 2016-11-06 | 更新于 2019-03-05 | 分类于 Android Blog | 评论数:
0x00讲起 Android 的热修复,相信大家对其都略知一二。热修复可以说是继插件化之后,又一项新的技术。目前的 Android 热修复框架主要分为了两类: 基于 Native Hook:使用 JNI 动态改变方法指针,比如有 Dexposed 、AndFix 等; 基于 Java Dex 分包:改变 dex 加载顺序,比如有 HotFix 、Nuwa 、Amigo 等; Native Hook 方案有一定的兼容性问题,并且其热修复是基于方法的;而 Java Dex 分包的方案具有很好的兼容性,被大众所接受。其实早在去年年末,HotFix 、 Nuwa 就已经出现了,并且它们的原理是相同 ...
阅读全文 »

React Native热更新集成Code Push

发表于 2016-11-03 | 更新于 2016-12-14 | 分类于 React Native Blog | 评论数:
Code Push GitHub 地址: https://github.com/Microsoft/react-native-code-push 基本安装 安装 code push cli npm install -g code-push-cli 注册,成功后得到 key 后输入 code-push register 在 Code Push 服务器注册 app code-push app add your_app_name 查找密钥,有 deployment key 和 staging key 两种 code-push deployment ls your_app_name -k 在 ...
阅读全文 »

Dynamic-Load-Apk源码解析

发表于 2016-10-29 | 更新于 2019-03-05 | 分类于 Android Blog | 评论数:
0x00趁着今天是周末,无所事事,来讲讲 Dynamic-Load-Apk 框架。Dynamic-Load-Apk 是任主席主导开发的一款插件化框架,其中心思想主要就是两个字——代理。和我之前分析的 android-pluginmgr 插件化框架不同的是,Dynamic-Load-Apk 框架完全基于在应用层上实现,并不依靠 ActivityThread 、Instrumentation 等。另外,Dynamic-Load-Apk 框架在插件化发展历程中诞生较早,对后来不断涌现的插件化框架具有深刻的指导意义。 0x01注:本文分析的 Dynamic-Load-Apk 为 master 分支,版 ...
阅读全文 »
1…678…12
俞其荣

俞其荣

向前跑 迎着冷眼和嘲笑

120 日志
11 分类
51 标签
RSS
GitHub Twitter 微博 Email
Creative Commons
© 2015 — 2021 俞其荣
由 Hexo 强力驱动
|
主题 — NexT.Muse
Hosted by Coding Pages