自定义博客皮肤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)
  • 资源 (2)
  • 收藏
  • 关注

转载 深入理解ContentProvider共享数据更新通知机制

前面一篇文章 深入理解Android四大组件之一ContentProvider 讲了ContentProvider的简单使用和它的启动过程.这里接着讲解一下关于ContentProvider共享数据更新通知机制.数据更新通知是很有必要的,比如我们在第二个应用程序中添加了一个联系人(接着上一篇文章例子),返回到显示主界面时,我们不会去更新列表数据,所以就没有刚刚添加的联系人信息,这样数据不同步...

2019-05-30 12:23:41 1273

原创 ArrayMap适用性小结

在Android源码中,不少地方都用了SparseArray和ArrayMap而不是HashMap。因为HashMap主要是速度优势,在有大量数据需要查询,并需要在极短时间内完成时且内存比较充裕,选择HashMap。但是在如手机这些嵌入式设备,内存是很有限的,所以需要一些以时间换空间的算法去实现的数据结构,而SparseArray和ArrayMap就是这种数据结构,算法原理非常相似,就是Spars...

2019-05-23 23:35:25 361

原创 Activity finish过程

MainActivity 启动 TestActivity,然后调用TestActivity的finish():I/System.out: MainActivity onResumeI/System.out: TestActivity onCreateI/System.out: TestActivity onResumeI/System.out: TestActivity fin...

2019-05-22 16:13:15 1087

原创 resume栈顶Activity--Android P

ActivityStackSuperior#resumeFocusedStackTopActivityLocked() ->ActivityStack#resumeTopActivityUncheckedLocked()->resumeTopActivityInnerLocked()final ClientTransaction transaction = ClientTrans...

2019-05-22 11:56:06 1047

转载 每一个apk如何使用Framework-res.apk中的资源

在此总结一下为什么Android系统资源包Android.jar中的资源可以被访问:1.app引入了系统资源,这些系统资源及其id和名字的索引包含在Android.jar包中。2.app编译时会执行aapt资源编译打包命令,aapt资源编译打包命令的-I 参数,引入了Android.jar,所以app在编译的时候,系统资源id能被识别。3.apk包中只包含了对系统资源id的索引,并不包...

2019-05-21 22:31:35 1706

转载 Android Framework的启动概述

安卓系统中运行的第一个Dalvik虚拟机叫做zygote,意思是“卵”。这“卵”还是挺有用的,因为接下来所有的Dalvik虚拟机进程都是这个“卵”孵化出来的。zygote进程中包含两个主要模块,分别如下:1、Socket服务端。用于接收启动新的Dalvik进程的命令。2、Framework共享类及共享资源。当zygote进程启动后会加载一些共享的类及资源,其中共享类是在preload-...

2019-05-21 21:37:59 83

转载 进程的Binder线程池工作过程

进程的Binder线程池工作过程基于Android 6.0源码剖析,分析Binder线程池以及binder线程启动过程。frameworks/base/cmds/app_process/app_main.cppframeworks/native/libs/binder/ProcessState.cppframework/native/libs/binder/IPCThreadStat...

2019-05-21 14:41:54 2487

原创 数据结构与算法

static class TreeNode{//二叉树结点 public TreeNode(TreeNode l, TreeNode r, int data){ left = l; right = r; this.data = data; } TreeNode left; ...

2019-05-20 14:03:17 94

转载 JDK中设计模式

本文主要是归纳了JDK中所包含的设计模式,包括作用和其设计类图。首先来个总结,具体的某个模式可以一个一个慢慢写,希望能对研究JDK和设计模式有所帮助。一、设计模式是什么(1)反复出现问题的解决方案(2)增强软件的灵活性(3)适应软件不断变化二、学习JDK中设计模式的好处(1)借鉴优秀代码的设计,有助于提高代码设计能力(2)JDK的设计中体现了大多数设计模式,是学习设计模式的较好...

2019-05-15 21:14:28 101

原创 HttpURLConnection的一些使用问题

1.getOutputStream和getInputStream返回的流都是用于输出或者输入报文实体的,而不是报文头部。2.请求行根据设置的请求方法和URL中的信息自动拼接,首部字段通过setRequestProperty()设置,会在connect()被调用时,输出并被缓冲起来3.通过OutputStream输出的实体,会被缓冲起来,所以content-length会自动计算,还有首部字...

2019-05-06 21:46:36 2761

android-all-9-robolectric-4913185-2.jar

单元测试使用robolectric框架时需要下载的依赖,但是使用Android Studio下载太慢了,下载该资源直接放在C盘用户根目录下的相对路径.m2\repository\org\robolectric\android-all\9-robolectric-4913185-2下, 那么在build.gradle声明testImplementation 'org.robolectric:robolectric:4.3',则会跳过下载该资源

2019-11-03

SourceInsight.rar

里面包含SourceInsight4安装包及license的lic文件

2019-08-21

空空如也

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

TA关注的人

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