自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 LocalBroadcastManager原理解析

LocalBroadcastManager是什么?LocalBroadcastManager原理是怎样的?小结LocalBroadcastManager是什么?  LocalBroadcastManager是android中本地广播的核心类。那什么是本地广播呢?它是一种在会在app内部传播的信息通信方式。因为其只在app内部传播,所以它安全;又因为其并不想系统级别的广播那样要有IPC,...

2019-07-04 10:35:40 384

原创 android 注解初步理解

前言  平时在开发中接触过许多的注解,如@Override,@Nullable等,但自己代码中还没怎么用过。所以,就想着学习学习,然后用一下。什么是注解?  注解是一种将元数据与程序元素关联在一起的安全的类似注释的机制。那什么是元数据?元数据就是描述数据的数据,比如下面的代码,toString方法是数据,@Override就是描述toString方法的元数据。@Overridepublic Str

2018-01-03 15:56:22 511

原创 java 反射初步理解

前言  之前整理了java同步的相关内容,现在开始整理java反射,都属于java相关内容。在查找资料的过程中,找到两篇个人认为很不错的介绍及应用:  Java反射以及在Android中的特殊应用  Java 技术之反射什么是反射?  反射,简单来讲,是一种与类动态交互的机制。为什么是动态交互的?一般来讲,在一个类已经写好且不能再修改的前提下,我们只能调用其暴露出来的方法或属性,而有时候我们又有扩展

2017-12-27 16:09:13 361

原创 dex编译相关:JIT、AOT

前言  在android的源码中看到了jit相关的代码,感觉jit这词儿有点儿眼熟,就查了一下其相关资料,顺带了解了一下android dex编译技术的变迁史。下面是总结,以问题为引导来说。总结  什么是JIT ?  JIT,即“Just In Time”,翻译过来就是“即时编译技术”。android在2.2版本引入此技术,主要是用来提高程序的执行效率的。既然是编译技术,那它具体编译的是什么?又是什

2017-12-20 15:42:02 507

原创 一些“跳过”按钮及缓冲框示例

前言  最近自定义控件的实践相对多一些,看到了别人app上实现的效果就想自己动手尝试下,看自己能不能做到。本文是对一些app第一个页面的“跳过”按钮及一些缓冲框的实现。一个控件就详细写一篇文,未免过于麻烦,所以这里是做了一个汇总,只写核心思路及相关伪代码,几个控件写成一篇。后面会给出完整代码。1. 矩形倒计时“跳过”  1. 先来看一下最终效果:  2. 基本思路及相关代码  首先,我们看到“跳过”

2017-12-19 16:33:08 1270

原创 三个点(或小球)缓冲控件示例

前言  之前看别人app上缓冲框的实现,觉得挺好的,就想实现下。本文实现的是三个动态点的缓冲框。最终实现效果  左边是三个动态的点,右边是一段简单的说明文字。三个点的大小及透明度依次变化,且有规律性。思路及实现  第一次看到这个效果就知道可以通过自定义控件实现:点通过画圆填充的方式实现,点大小的变化通过属性动画不断地修改圆半径实现,透明度通过属性动画不断地给画笔设置新的alpha值实现。总共需要画3

2017-12-15 19:01:07 443

原创 使用两种方式完成四种弹性动画

前言  最近这段时间对弹性动画比较感兴趣,空闲就做了一下弹性动画的实现。网上对弹性动画的实现其实是有3种,属性动画设置spring插值器、facebook出的rebound以及google出的SpringAnimation。考虑到android的google背景以及想重温一下属性动画的使用,本博实现了第一种和第三种。最终实现效果  注意上述动态图界面的title,第一个界面是属性动画差值器的实现,第

2017-12-12 21:16:39 1430

原创 一个简单的蒙版制作

前言  最近这段时间,项目中有通过蒙版作功能说明的需求,看了UI效果图后,最终决定使用DialogFragment+自定义view来实现。我尽量封装的好一些,这样调用起来就会比较方便。最终实现效果  最终实现效果如上:点击标题栏右上角图片显示蒙版的第一个内容,点击蒙版显示蒙版的第二个内容,再点击蒙版蒙版消失。核心思路及代码实现  什么是蒙版及如何实现?  所谓“蒙版”,其实就是在应用当前界面覆盖一层

2017-12-11 16:28:56 2972

原创 android笔记之SystemServiceRegistry

前言    最近在看android源码中Window的内容,在看到WindowManagerImpl创建对象时发现了SystemServiceRegistry,这个类主要是用来缓存、注册、获取系统服务的。因为对它的缓存机制比较感兴趣,所以就研究下它的源码并记录下来,以便以后回顾迭代。1. SystemServiceRegistry刚被导入内存时的分析    先来看一段源码:package andro

2017-11-29 17:15:32 2751 1

原创 android笔记之Window

前言    这几天开始看Window相关的内容,会把相关的东西记录在这儿,以备以后查阅。内容及内容结构会逐步迭代完善。1. Window是抽象基类,只有PhoneWindow一个抽象基类    android.jar中的Window声明:public abstract class Window { ...}    Window的类结构示意图:2. 官方文档中对Window的介绍Abstra

2017-11-28 18:27:12 397

原创 mac mkdir read-only filesystem

最近看了一些android源码,看到ActivityManageService时发现android.jar中并没有ActivityManageService的源码,经查资料,该java文件是在frameworks/base/services/java/com/android/server/am/目录下,想看到它的话貌似只能去查看较为完整的android源码了。找到了一篇在mac下编译android源

2017-11-24 14:16:25 9733

原创 java synchronized的初步理解

本博客每一个小标题下的内容独立且完整,如只是想了解某个小标题下的内容,只需前往看该小标题即可。1. 多线程并发访问同一个对象的同一个非静态synchronized方法2. 多线程并发访问同一个对象的不同非静态synchronized方法3. 多线程并发访问同一个对象的不同方法,一个是非静态synchronized方法,一个是非静态非synchronized方法4. 多线程并发访问同一个

2017-11-20 16:02:29 191

原创 一个简单的自适应调整字体大小view

最近在项目中遇到一个这样的需求:一个显示金额的view,给定最大的字号,需根据view的宽高使金额字体显示地尽量大、务必完整,且小数位要比整数位小几个字号。   基本的分析思路是这样的:金额其实也就是文本,画文本Canvas有drawText方法可以使用;不同字号的字体,通过调用Paint的setTextSize方法传入不同的参数可以实现;而怎么才能使文本字体尽量大呢?   之前在学自定义控件的

2017-11-19 17:28:55 5452

原创 记录Linode Ubuntu的一些问题

欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl

2017-07-05 10:41:09 579

原创 高德地图 定位服务启动失败

start : (20160421)在Android 6.0中,使用定位权限需要用户授权。我的代码中开启定位的代码是这样的:MyLocationTool.getInstance().startLocation();在我成功申请了权限之后,在onRequestPermissionsResult方法中,调用上述代码开启定位,却报了“定位服务启动失败”。目前也不明白为什么会报这个错,但是

2016-04-21 14:02:25 2346

原创 ClassLoader referenced unknown path: /data/app/XXX-1/lib/arm

start(20160421):在用Android Studio将应用运行到手机上之后,应用启动进入初始化页之前有一个几秒钟的空白,很影响用户的体验。之前一直以为是Android 6.0的问题,在网上查找资料找了好久,并没有找到相关解决方案。后来突然想到,目前的Android Studio 2.0正式版中是使用了instant run的,可能是它的问题。unchecked了instant ru

2016-04-21 11:50:55 14974 4

原创 androidStudio ndk Cannot find 'jni.h'

Android Studio:2.0 stablegralde version:2.10gradle plugin:2.0.0到处的头文件,报了“Cannot find 'jni.h'”。目前还在解决...https://code.google.com/p/android/issues/detail?id=200800这个目前好像是无解。(20160418)

2016-04-18 14:17:10 7406 2

原创 从今天起,开始记录一些关于Android的问题或者文章

如题

2016-04-12 14:34:20 267

空空如也

空空如也

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

TA关注的人

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