- 博客(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关注的人