自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 android Application Component研究之Service

本文为原创文章,欢迎转载!转载时请注明出处:http://blog.csdn.net/windskier    前面2篇文章介绍了acitivity的管理,其中保存task的管理,activity生命周期中各个阶段的操作等问题,这篇文章我们来详细的研究一下Android系统中application Service的管理过程。   Service是android中一个非常重要的组

2016-07-31 22:43:25 614

转载 android Application Component研究之Activity(二)

本文为原创文章,欢迎转载!转载时请注明出处:http://blog.csdn.net/windskier    上篇文章分析完了task的创建或者复用,接下来接着分析activity在启动过程中还有哪些工作需要去完成?首先给出整个activity的过程图。    1. Starting Window    当该activity运行在新的task中或者进程中时,需要在

2016-07-31 22:37:21 600

转载 android Application Component研究之Activity(一)

终于下定决心写写ActivityManagerService的源码分析的文章了,ActivityManagerService 业务的整个逻辑关系被各种复杂的数据结构包裹着,因此对ActivityManagerService 的分析主要就是对各种数据结构的分析,明白了这些数据结构,理解ActivityManagerService的业务内容就水到渠成了。    AMS提供了一个ArrayLis

2016-07-31 22:34:57 472

转载 两分钟彻底让你明白Android Activity生命周期(图文)!

大家好,今天给大家详解一下Android中Activity的生命周期,我在前面也曾经讲过这方面的内容,但是像网上大多数文章一样,基本都是翻译Android API,过于笼统,相信大家看了,会有一点点的帮助,但是还不能完全吃透,所以我今天特意在重新总结一下.  首先看一下Android api中所提供的Activity生命周期图(不明白的,可以看完整篇文章,在回头看一下这个图,你会明白的):

2016-07-31 22:05:16 363

转载 Android进程间通信(IPC)机制Binder简要介绍和学习计划

在Android系统中,每一个应用程序都是由一些Activity和Service组成的,这些Activity和Service有可能运行在同一个进程中,也有可能运行在不同的进程中。那么,不在同一个进程的Activity或者Service是如何通信的呢?这就是本文中要介绍的Binder进程间通信机制了。        我们知道,Android系统是基于Linux内核的,而Linux内核继承和兼

2016-07-24 23:03:41 445 1

转载 Android Binder设计与实现 - 设计篇

摘要Binder是Android系统进程间通信(IPC)方式之一。Linux已经拥有管道,system V IPC,socket等IPC手段,却还要倚赖Binder来实现进程间通信,说明Binder具有无可比拟的优势。深入了解Binder并将之与传统IPC做对比有助于我们深入领会进程间通信的实现和性能优化。本文将对Binder的设计细节做一个全面的阐述,首先通过介绍Binder通信模型和B

2016-07-24 22:27:30 418 1

转载 inotify使用说明

NAME         top inotify - monitoring filesystem eventsDESCRIPTION         top The inotify API provides a mechanism for monitoring filesystem events. Inotify can be used t

2016-07-24 22:14:55 3037 2

转载 inotify不生效问题

inotify还是不错的,玩着似乎很简单,但是坑也不少,如果不仔细查看官方文档,可能就真的不知道哪里存在坑,哪里需要注意。前段时间,在项目中使用inotify监控配置文件,以达到实时感知配置改变的目的。但近日查看线上日志发现,配置文件改变后,inotify并没有通知,结果导致配置一直未被更改。    在描述之前,要说明一下,我代码中的inotify使用方式,这个方式和网上大多方式一样:

2016-07-24 21:57:03 2701 1

转载 java 8的第二个特性:类型注解

注解大家都知道,从java5开始加入这一特性,发展到现在已然是遍地开花,在很多框架中得到了广泛的使用,用来简化程序中的配置。那充满争议的类型注解究竟是什么?复杂还是便捷?什么是类型注解在java 8之前,注解只能是在声明的地方所使用,比如类,方法,属性;java 8里面,注解可以应用在任何地方,比如:创建类实例        new @Interned MyObject()

2016-07-19 23:07:28 450

转载 Java的package和import机制

一些人用了一阵子的Java,可是对于 Java 的 package 跟 import 还是不太了解。很多人以为原始码 .java 文件中的 import 会让编译器把所 import 的程序通通写到编译好的 .class 档案中,或是认为 import 跟 C/C++ 的 #include 相似,实际上,这是错误的观念。  让我们先了解一下,Java 的 package 到底有何用处。  

2016-07-19 22:36:15 7005 1

转载 Android消息处理机制(Handler、Looper、MessageQueue与Message)

Android是消息驱动的,实现消息驱动有几个要素:消息的表示:Message消息队列:MessageQueue消息循环,用于循环取出消息进行处理:Looper消息处理,消息循环从消息队列中取出消息后要对消息进行处理:Handler平时我们最常使用的就是Message与Handler了,如果使用过HandlerThread或者自己实现类似HandlerThread的东西可能还会接触

2016-07-18 07:53:21 325

转载 Java中abstract class 和 interface 的解释和他们的异同点(转)

(一)概述    在Java语言中, abstract class 和interface 是支持抽象类定义的两种机制。正是由于这两种机制的存在,才赋予了Java强大的 面向对象能力。abstract class和interface之间在对于抽象类定义的支持方面具有很大的相似性,甚至可以相互替换,因此很多开发者在进 行抽象类定义时对于abstract class和interface的

2016-07-15 18:49:03 358

原创 Natice层线程创建的方法

有两个方法在native层创建thread:1.直接使用pthread_create函数bionic/libc/bionic/pthread_create.cpp注册的函数是怎样被调用到的?int pthread_create(pthread_t* thread_out, pthread_attr_t const* attr,                   void* (

2016-07-15 17:28:09 977

原创 Native实现的service怎样加入ServiceManager

常见的方法是:xxxx::instantiate();class:xxxx没有定义函数instantiate();肯定是继承过来的 class xxxx : public BinderService, public BnSystemKloService {     friend class BinderService;     --- } 模板类 BinderS

2016-07-15 15:49:40 846

原创 service list命令的实现

frameworks/native/cmds/service/service.cppsp sm = defaultServiceManager();if (strcmp(argv[optind], "list") == 0) {    Vector services = sm->listServices();    aout     for (unsigned i =

2016-07-15 15:10:42 5903

转载 android中进程状态,状态机是怎样变化的?

frameworks/base/core/java/android/app/ActivityManager.java    /** @hide Process does not exist. */    public static final int PROCESS_STATE_NONEXISTENT = -1;    /** @hide Process is a pe

2016-07-15 14:08:25 2021 1

原创 kernel 异常重启的log输出

异常处理函数,在底层【汇编代码】做一些处理后,最后调用C接口函数。即使是C函数,内核异常的处理函数还是CPU架构相关的,就是函数在arch下的不同目录下实现。未定义指令的处理:当发生指令异常时,汇编代码的处理是[以64位ARMV8架构为例]:对应的汇编代码在文件kernel/arch/arm64/kernel/entry.S中,el1_undef:/** Undef

2016-07-15 13:24:06 6200

原创 Native层怎样获得wakelock

/×××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××××/1. 定义一个接口类frameworks/native/include/powermanager/IPowerManager.h// must be kept in sync with

2016-07-14 17:00:12 1621

原创 Native层怎样获得java层实现的服务,如activity manager

获得service提供的服务,必须实现proxy,对应activity manager 就是BpActivityManager,而实现BpActivityManager要先实现,接口类IActivityManager.class IActivityManager : public IInterface {  public:    DECLARE_META_INTERFACE

2016-07-14 16:52:17 3723 2

转载 android 监控应用进程

简单才是美android 监控应用进程在android系统中,怎么监控应用的进程改变及消亡呢?至于监控应用进程能做什么,这个就不多说了,你懂的。在android系统中有这么一个类ActivityManagerNative,看名称就大概能猜到该类是做什么用的了,该类中有个方法“registerProcessObserver” 1 public

2016-07-07 07:32:18 4001

转载 介绍了如何取成员函数的地址以及调用该地址:C++

摘要:介绍了如何取成员函数的地址以及调用该地址.关键字:C++成员函数 this指针 调用约定一、成员函数指针的用法  在C++中,成员函数的指针是个比较特殊的东西。对普通的函数指针来说,可以视为一个地址,在需要的时候可以任意转换并直接调用。但对成员函数来说,常规类型转换是通不过编译的,调用的时候也必须采用特殊的语法。C++专门为成员指针准备了三个运算符: "::*"用于指针的声明,而

2016-07-07 06:32:59 10035 2

空空如也

空空如也

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

TA关注的人

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