自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《Android开发艺术探索》笔记总结——第四章:View的工作原理

这一章中主要介绍了View的相关知识,包括View的基本概念,View的测量流程、布局流程和绘制流程,最终根据这些来实现自定义View。View的加载流程在Activity启动完毕以后,Activity对象创建完毕后,会将DecorView添加到Window中,同时创建ViewRootImpl对象(ViewRootImpl对象是 ViewRoot 的实现),系统将ViewRootImpl 对象...

2019-01-24 17:13:25 282

原创 使用GZIPInputStream读取压缩文件需要注意的问题

Android中读取压缩文件一般都是用GZIP来做,使用方法比较简单,就是使用GZIPInputStream读取,然后用输出流写出来就好了,但是需要注意的一点是,要读取的zip文件的格式也是有要求的,我在windows上使用好压压缩的zip文件是不行的,在使用GZIP的接口读取的时候根本读不出来。后来在Linux上使用 gzip 命令压缩的文件才能正常使用接口读取,仔细想想也能理解,Androi...

2019-01-24 15:13:32 3843

原创 SDK开发的注意事项

1:SDK的最小版本如果集成该SDK的工程设置的最小版本大,导入以后编译失败,所以SDK的minSdkVersion 一定要尽量小2:SDK中是否需要用到6.0以后动态申请权限的问题以集成SDK的工程的targetVersion版本为准。...

2019-01-18 16:57:11 1535

原创 Java虚拟机的内存分配

程序计数器线程私有的。也就是每个线程都会有一块程序计数器内存,它用来记录当前线程字节码文件执行到了哪一行,也就是一个行号计数器。字节码解释器就是通过改变程序计数器的值来选取下一条要执行的字节码指令。同时java的多线程是通过CPU在各个线程的不断切换来完成的,这就需要程序计数器来记录每个线程执行的行号位置,便于CPU下次执行的起点。当线程执行的是本地方法得时候,计数器返回的是0,因为本地方法不...

2019-01-17 19:01:22 215

原创 aar打包注意事项和使用android studio打jar

以前做SDK基本上都是使用jar包,jar包有个弊端,就是只能包含代码,不能包含资源文件,后来出现了aar,aar除了可以包含代码以外,res目录下的资源文件也可以包含进去,这样就方便了很多。但是在aar打包的时候需要注意的是,把一个Library达成aar,lib文件夹下面的jar包是可以包含的,但是在build.gradle,文件中依赖的第三方库是无法打入aar的,如果不知道这点,很容易出现...

2019-01-15 17:38:35 601

原创 使用SQLiteExpertProfessional工具测试SQL语句

先上软件下载链接:SQLiteExpertProfessional打开以后页面如下:创建数据库点击File – New Datebase,输入数据库的名字,创建一个数据库创建表常见表有两种方式,一种是直接在使用SQL语句来创建表,一种是直接右键数据库图标然后选择 New Table。先说第一种方式,这种方式一般使我们实际开发中使用的。第一种方式:点击右边的SQL标签,进入输入 S...

2019-01-11 11:45:36 4228

原创 Receiver向Activity传递数据

今天要写以后测试的例子,需要在受到广播以后将一些数据传递个Activity,除了第三方的EventBus一下子还没想到好的方法,我们知道Activity想其他组件传递数据,简单的就使用Intent携带过去就好了,但是从Receiver向Activity传递数据呢,其实可以使用回调接口。就像Activity中的button也是使用的回调接口,Button类就将用户点击的响应传递个了Activity...

2019-01-10 17:51:23 770

原创 使用Timer、Alarm和Jobschdule完成定时任务的比较

Timer一般是用来做定时任务,它的定时是精确的定时,缺点是当Timer所在的进程被杀死以后任务也会停止。AlarmAlarm是通过系统来维护定时任务,可以在CPU进入休眠模式的时候唤醒CPU来完成定时任务,可以通过设置一段时间以后的定时任务还可以设置以后固定时间点的定时任务,但是最短时间间隔为1分钟,缺点是无法对特定的条件进行任务触发,比如当充电的时候采取做什么动作,同时对于国内的手机来说...

2019-01-10 17:20:57 1068

原创 关于Android手机获取SD卡路径的问题

在开发的时候经常会使用到SD卡,比如图片缓存等需要大的存储空间的时候,Android中获取SD卡的接口只有一个String path= Environment.getExternalStorageDirectory().getAbsolutePath();从接口的命名上来看是获取外置的SD卡,从国内手机的发展来看,原来手机本身存储小,都会外置一个SD卡,通过上面的接口获取外置SD卡的路径很容...

2019-01-08 14:44:30 2186

原创 Protocol not found 异常

之前用户输入ip + 端口进行登录的时候,后台我都是使用:来进行切割获取到 ip 和 port,昨天突发奇想,使用如下的方式来获取吧URL murl = new URL(url);String host = murl.getHost();URL murl = new URL(url);int port = murl.getPort();想着挺方便,端口还不用转换了,没想到一运行报异常...

2019-01-03 10:41:58 6904

原创 自定义Launcher桌面图标无法加载的问题

通过之前的文章,我们知道在Launcher的源码中是通过加载default_workspace.xml这个配置文件来显示桌面的图标和小部件的,今天项目一测试,发现自定义的桌面图标加载不出来了,之前都是好好的,这是啥原因。通过查看这几天的代码提交记录,发现了在android studio 中的gradle.properties文件中的android.enableAapt2=false代码注释掉了,...

2019-01-02 11:12:58 661

空空如也

空空如也

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

TA关注的人

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