自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android ContentProvider的启动过程

ContentProvider使用步骤:1、ContentSolver contentResolver = getContentResolver()2、contentResolver.insert();(还有其他三种方式)首先getContentResolver()的过程如下:getContentResolver()是属于context的一个抽象方法,具体的实现在(Contex

2017-10-23 11:52:38 689

原创 Android sendBroadcast的过程分析

发送广播的过程分两步完成第一步 AMS收到广播之后找到对应的广播接收者并把他们添加到一个广播调度队列中,这个步骤包含两个过程:1、广播发送者把特定的广播发送给ActivityManagerService2、AMS收到广播之后找到对应的广播接受者并把他们添加到一个广播调度队列中,在将这个队列传递给BroadcastQueue,最后向消息队列发送一个BROADCAST_INTENT_MSG

2017-10-20 12:07:57 3040

原创 Android Broadcast注册过程

Broadcast 注册有两种方式:1、静态注册(即在AndroidManifest.xml)中注册广播;2、动态注册(即在代码中registerReceiver())下面分别介绍两种广播注册的过程静态注册过程:在系统服务启动时会添加PackageManagerService,在该类的构造方法中就会对各个应用安装的目录的apk文件进行扫描解析,具体过程如下补充:1、在(Pa

2017-10-19 11:02:17 604

原创 Android Service的启动过程

再讲service启动之前先讲两个概念:1、context、contextWrapper、contextImpl的关系ContextWrapper、ContextImpl都是继承自Context,像我们调用startService()就是调用ContextWrapper里面mBase.startService()  mBase是ContextWrapper的实例,所以startServ

2017-10-18 18:28:08 360

原创 Activity的显示过程

Activity的显示过程

2017-10-12 17:03:52 677

原创 Android Activity的启动过程

这篇文章是记录我对于activity的启动流程的一个大致记录,不会有太详细的代码解析Activity 其实只是一个普通的类,是因为ActivityThread会在不同的阶段回调Activity的onCreate onResume方法,从而让Activity有生命周期;apk的启动是从ActivityThread的main()方法开始的,main()建立了主线程的looper,并把对

2017-10-10 15:16:51 404

原创 欢迎使用CSDN-markdown编辑器

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

2017-09-14 10:05:19 159

转载 Android tcp/ip socket http的理解

网络七层由下往上分别为物理层、数据链路层、网络层、传输层、会话层、表示层和应用层:1、 物理层    该层为上层协议提供了一个传输数据的可靠的物理媒体。简单的说,物理层确保原始的数据可在各种物理媒体上传输。物理层记住两个重要的设备名称,中继器(Repeater,也叫放大器)和集线器。2、数据链路层    数据链路层在不可靠的物理介质上提供可靠的传输。该层的作用包括:物理

2017-07-28 16:50:15 635

原创 activity FLAG_ACTIVITY_NEW_TASK启动疑问

当在一个的activity以FLAG_ACTIVITY_NEW_TASK的方式启动另一个已经启动的activity时,需要设置intent.addCategory(Intent.CATEGORY_LAUNCHER);intent.setAction(Intent.ACTION_MAIN);否则将要打开的activity会重走一遍onCreate(),加上之后会直接调用之前的acti

2017-07-15 14:45:17 1328 1

原创 widget的加载过程

widget的回调的步骤:当你添加widget到桌面的时候如图所示先收到APPWIDGET_ENABLED 广播,然后系统回调OnEnabled()方法然后收到APPWIDGET_UPDATE广播,然后系统回调OnUpdate()方法最后是收到APPWIDGET_UPDATE_OPTIONS广播

2017-07-11 19:48:36 427

原创 BroadcastReceiver、EventBus的优缺点及使用场景

本地广播是相对消耗时间、空间最多的一种方式,但是大家都知道,广播是四大组件之一,许多系统级的事件都是通过广播来通知的,比如说网络的变化、电量的变化,短信发送和接收的状态,所以,如果与android系统进行相关的通知,还是要选择本地广播;在BroadcastReceiver的 onReceive方法中,可以获得Context 、intent参数,这两个参数可以调用许多的sdk中的方法,而eventb

2016-11-11 11:08:50 7140

转载 Activity生命周期

近来回顾了一下关于Activity的生命周期,参看了相关书籍和官方文档,也有了不小的收获,对于以前的认知有了很大程度上的改善,在这里和大家分享一下。熟悉javaEE的朋友们都了解servlet技术,我们想要实现一个自己的servlet,需要继承相应的基类,重写它的方法,这些方法会在合适的时间被servlet容器调用。其实Android中的Activity运行机制跟servlet有些相似之处,A

2016-10-31 17:23:51 275

转载 如何安全退出已调用多个Activity的Application?

对于单一Activity的应用来说,退出很简单,直接finish()即可。当然,也可以用killProcess()和System.exit()这样的方法。但是,对于多Activity的应用来说,在打开多个Activity后,如果想在最后打开的Activity直接退出,上边的方法都是没有用的,因为上边的方法都是结束一个Activity而已。当然,网上也有人说可以。就好像有人问,在

2016-03-04 09:42:49 291

转载 android-Service和Thread的区别

servie是系统的组件,它由系统进程托管(servicemanager);它们之间的通信类似于client和server,是一种轻量级的ipc通信,这种通信的载体是binder,它是在linux层交换信息的一种ipc。而thread是由本应用程序托管。1). Thread:Thread 是程序执行的最小单元,它是分配CPU的基本单位。可以用 Thread 来执行一些异步的操作。2

2016-03-02 13:58:17 232

转载 Java Serializable(序列化)的理解和总结

1、序列化是干什么的?       简单说就是为了保存在内存中的各种对象的状态(也就是实例变量,不是方法),并且可以把保存的对象状态再读出来。虽然你可以用你自己的各种各样的方法来保存object states,但是Java给你提供一种应该比你自己好的保存对象状态的机制,那就是序列化。2、什么情况下需要序列化       a)当你想把的内存中的对象状态保存到一个文件中或者数据库中时候

2016-02-24 14:08:04 272

Volley jar包和源代码

Volley jar包和源代码

2016-12-28

空空如也

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

TA关注的人

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