自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 IntentService的使用

Service作为Android四大组件之一,是一个相当重要的角色。我们经常通过Service在应用后台做一些逻辑,例如音频播放等。但是当我们需要在后台service做一些耗时操作时,这样就会出现麻烦了。Android的Service默认是运行于主线程,因此,如果有需要在Service里面执行耗时操作,只能开启一个子线程来处理。在 onStartCommand方法里面开启子线程来处理耗时操作。类似...

2019-01-23 17:28:06 241

原创 ThreadLocal的使用与理解

用过EventBus的同学都知道,在接收发出事件时,会有四种线程模式。那他是内部是怎样实现的呢?近日忙里偷闲,简单看了下EventBus源码,发现其发送事件前检查发送事件的线程状态(源码标注处),然后根据postingState去做一些线程切换的操作。扯了半天发现跟标题ThreadLocal没半毛钱关系,哈哈哈。显然不可能,currentPostingThreadState其实就是一个Th...

2019-01-18 10:41:02 233

原创 Python中json与实体类的相互转换

json是目前服务端与客户端交互的主要数据格式之一,在Python中又是怎样实现两者之间的相互转换呢?需要提前了解一下的是:json字符串到python对象的转换规则(下表所示)Python Json dict object list, tuple array str, unicode string int, long, float numbe...

2019-01-03 15:37:49 13923 1

原创 Mac环境下创建一个cocos2dx项目

随着移动端应用页面越来越酷炫,如今在移动端上集成游戏引擎已经变得很常见,类似cocos2dx、Unity3D等都是不错的选择。这里简单介绍一下Mac上创建一个集成cocos2dx的项目。1、从官网(https://www.cocos.com/download)下载 cocos2dx v3.x并解压,目录结构应该如下图所示。2、在终端(Terminal)里进入到cocos2d-x 3.1...

2018-12-05 20:45:55 819

原创 SpannableString的使用,实现富文本效果

在Android开发过程中,总会有些需求涉及到TextView展示形式复杂多样的文字,例如下划线、斜体、超链接等。其实SpannableString就能够简便的设置文字样式。核心方法 object what:ForegroundColorSpan、UnderlineSpan等各种Span;int start:字符开始位置int end:字符结束位置int flags:取值有如下四个S...

2018-12-03 21:00:36 412

原创 全局Log管理

项目开发过程中,打印的log可谓是多而杂,因此对全局log的管理是必不可少。直接上代码:import android.util.Log;/** * 全局Log管理类 * * 通过设置 APP_LOG_LEVEL 字段,来控制对应的log是否显示 */public class LogHelper { /** * 所有log都打印 */ privat...

2018-05-17 09:44:43 494

原创 SharedPreference apply与commit的分析

在Android原生开发中,SharedPreferences是一个经常打交道的类,用于数据持久化。但在使用过程中,偶尔可能会出现保存的值并不准确的现象(活生生被坑了一波),其实就是apply与commit这两个提交方法引起的。先搜了一波资料,整理如下:1、apply没有返回值,而commit有返回值。2、apply是将修改数据原子提交到内存, 而后异步真正提交到硬件磁盘, 而commit是直接同...

2018-05-16 15:22:01 927

原创 APP卡顿检测工具 —— BlockCanary的集成

在开发中,随着业务的越来越复杂,代码量越来越多,由于各方面原因,app可能会变得卡顿,甚至出现ANR。那么对于APP的卡顿检测显得尤为重要,BlockCanary是一个挺不错的工具。关于BlockCanary的介绍,这里不再贴上了。直接去作者的github了解,地址https://github.com/markzhai/AndroidPerformanceMonitor/blob/master/R...

2018-05-15 18:11:55 8589 1

原创 Android获取渠道号

本篇文章以友盟多渠道打包为例,分析如何获取APK的渠道号。在开发中,接入友盟时,会在AndroidManifest里添加这样的mete-data配置关注红色标记的key-value,其实这就是渠道名,一般由产品约定好,apk需要打哪些渠道号,可以配置在build.gradle文件里,如下,这里只是拿几个作为展示:知道这个,其实获取渠道号就简单了,无非就是从meta-data里将key为UMENG_...

2018-05-14 15:58:10 11321

原创 首页动画的优化方案

上周在项目开发中碰到了一个需求,APP首页底部的栏目Tab需要添加动画,每隔30s播放一下,动画不算复杂,一个帧动画就能实现

2018-05-14 15:00:09 292

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除