![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android系统
Super_DC
这个作者很懒,什么都没留下…
展开
-
android binder 机制三(匿名Service)
什么是匿名Service?凡是没有到ServiceManager上注册的Service,都是匿名Service。还是拿上一篇的例子来举例,看代码:status_t MediaPlayer::setDataSource(int fd, int64_t offset, int64_t length){ status_t err = UNKNOWN_ERROR; const s原创 2014-07-15 23:29:02 · 3293 阅读 · 2 评论 -
MediaPlayer本地播放流程解析(三)
这一篇文章接着之前的prepare,讲play的流程前面的流程省略,直接从AwesomePlayer的Play()开始讲。status_t AwesomePlayer::play() { …… return play_l();}status_t AwesomePlayer::play_l() { …… if (mAudioSource != NUL原创 2014-09-22 23:49:51 · 4747 阅读 · 1 评论 -
handler looper和messageQueue
一、使用方法。Looper用来处理消息循环,在创建过程中会初始化MessageQueue。Handler在其它线程发消息给当前线程MessageQueue用来存放消息 Looper对象在哪个线程创建,Handler的handleMessage方法就在哪个线程执行 在创建activity时,android系统本身会为activity创建Looper。final Han原创 2014-08-13 20:03:29 · 1073 阅读 · 0 评论 -
MediaPlayer本地播放流程解析(二)
上一篇MediaPlayer本地播放流程解析(一)讲了MediaPlayer的setDataSource流程,本篇将接着讲MediaPlayer的prepare流程。Prepare前面的流程一直到AwesomePlayer,和setDataSource都基本上一样,这里直接略掉。下面将从AwesomePlayer开始。status_t AwesomePlayer::prepare() {原创 2014-08-20 19:54:43 · 3270 阅读 · 0 评论 -
TimedEventQueue分析
AwesomePlayer里面定义了一个TimedEventQueue,通过向它发事件消息,来驱动player的运转。定义在AwesomePlayer.h里面,如下:TimedEventQueue mQueue;TimedEventQueue中维护了一个队列,外面通过调用其提供的方法postEvent, postEventWithDelay等等来向队列添加事件,在执行完mQueue.s原创 2014-08-21 15:52:54 · 2506 阅读 · 0 评论 -
MediaPlayer本地播放流程解析(一)
应用场景:MediaPlayer mediaPlayer = new MediaPlayer();mediaPlayer.setOnCompletionListener(new OnCompletionListener() { @Override public void onCompletion(MediaPlayer mp) { mediaPlayer.release(); m原创 2014-08-18 22:35:38 · 22448 阅读 · 4 评论 -
android binder 机制二(client和普通server)
本文介绍android binder通信中,普通server进程如何工作,已经client和普通server之间如何通信原创 2014-07-14 17:06:19 · 4380 阅读 · 0 评论 -
android binder 机制 (ServiceManager)
Binder机制作为一种IPC通信机制,在android系统中扮演了非常重要的角色,因此我也花了一些时间来研究它,按照我的理解,下面我将从4个方面来讲一下Binder,如有不对的地方,还希望大家多多指教。下面的例子都将以MediaServer来讲。一、ServiceManagerServiceManager在Binder系统中相当与DNS,Server会先在这里注册,然后Client会在这原创 2014-07-13 13:20:25 · 5875 阅读 · 1 评论 -
Android--hw_get_module解析
我们知道,google为了保护硬件厂商的信息,在Android中添加了一层,也就是大名鼎鼎的HAL层。在看HAL的编写方法的过程中,会发现整个模块貌似没有一个入口。一般说来模块都要有个入口,比如应用程序有main函数,可以为加载器进行加载执行,dll文件有dllmain,而对于我们自己写的动态链接库,我们可以对库中导出的任何符号进行调用。 问题来了,Android转载 2014-07-17 16:18:13 · 994 阅读 · 0 评论 -
undefined reference to 'dlopen'
LOCAL_SHARED_LIBRARIES += \libdlLOCAL_LDLIBS += \-lpthread \-ldl \原创 2014-05-23 10:09:38 · 2452 阅读 · 2 评论 -
android7.1 location service
android 7.1 location service原创 2017-03-20 20:46:45 · 865 阅读 · 0 评论