
android源码分析
文章平均质量分 50
haima1998
这个作者很懒,什么都没留下…
展开
-
Python+uiautomator2手机UI自动化测试实战 --1. 环境搭建
转自:https://blog.youkuaiyun.com/ricky_yangrui/article/details/81414870一.简介uiautomator2是一个python库,用于Android的UI自动化测试,其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作二.安装1. 安装uiautomator2pip install --upgrade --pre uiautomator转载 2021-12-02 14:38:10 · 1035 阅读 · 0 评论 -
ARM CPU性能优化:FP32 、FP16 和BF16区别
转自:https://zhuanlan.zhihu.com/p/351297472https://community.arm.com/cn/b/blog/posts/arm-891361032今天,主要介绍FP32、FP16和BF16的区别及ARM性能优化所带来的收益。FP32 是单精度浮点数,用8bit 表示指数,23bit 表示小数;FP16半精度浮点数,用5bit 表示指数,10bit 表示小数;BF16是对FP32单精度浮点数截断数据,即用8bit 表示指数,7bit 表示小数。在数转载 2021-03-12 11:01:52 · 15107 阅读 · 0 评论 -
opencv android ndk 版本 opencv3 是gnustl_shared,opencv 4是c++_static
以下指的是opencv android 释放的动态库opencv3及以下的版本仅仅支持gnustl_shared编译opencv4 使用了c++_static和c++_shared 编译 参考:https://blog.youkuaiyun.com/jdazy/article/details/95044780原创 2021-03-11 17:58:45 · 490 阅读 · 0 评论 -
【Android Camera】之 Preview
转自:http://my.oschina.net/jerikc/blog/112786Android Camera小系统:嗯……直接看Camera HAL层,它实现是主要的工作, 它一般通过ioctl调用V4L2 command ①从linux kernel中的camera driver①得到preview数据. 然后交给surface(转载 2013-11-21 14:27:31 · 1046 阅读 · 0 评论 -
Android 匿名共享内存C++接口分析
转自:http://www.cnblogs.com/suncoolcat/p/3329082.html在上一篇Android 匿名共享内存C接口分析中介绍了Android系统的匿名共享内存C语言访问接口,本文在前文的基础上继续介绍Android系统的匿名共享内存提供的C++访问接口。在C++层通过引入Binder进程间通信机制可以实现跨进程访问匿名共享内存。我们知道Andr转载 2013-11-21 15:55:42 · 943 阅读 · 0 评论 -
《Linux设备节点创建》用户空间ueventd创建设备节点规则
转自:http://blog.youkuaiyun.com/tankai19880619/article/details/11726371说明:本文基于Android2.3和Linux2.6,其余版本仅供参考。一、devfs、udev和sysfs是什么关系?linux2.6之前使用devfs设备文件系统,它存在与内核空间;linux2.6之后使用udev设备文件系统转载 2013-11-25 15:52:24 · 867 阅读 · 0 评论 -
android uvent observer源码分析
原创 2013-11-25 18:03:08 · 800 阅读 · 0 评论 -
Android 4.4(KitKat)中的设计模式-Graphics子系统
转自:http://www.2cto.com/kf/201312/266949.html本文主要从设计模式角度简单地侃下Android4.4(KitKat)的Graphics子系统。可以看到在KitKat中Google对code还是整理过的,比如替换了像SurfaceTexture这种第一眼看到不知所云的东西,去掉了像ISurface这种打酱油的定义,改掉了明明是SurfaceHold转载 2014-01-16 10:09:04 · 959 阅读 · 0 评论 -
android 启动过程分析
Servicemanager需要先启动,zygote后面的service需要用到servicemanager的服务。转载 2013-07-18 15:37:42 · 562 阅读 · 0 评论 -
Android 启动加载jar包 init.rc BOOTCLASSPATH
转自:http://blog.youkuaiyun.com/tomken_zhang/article/details/6927423一直在研究 Dalvik 的实现,今天突然想起一件事情,我们默认可以用 java.lang.Object 等系统类,他是在什么时候被加载进来了呢,我们自己的类是否可以这样预先加载进去呢? 顺着这个思路,再回顾一下原来对 Zygote 启动时的流转载 2013-11-20 15:54:15 · 2679 阅读 · 0 评论 -
Android窗口管理服务WindowManagerService的简要介绍
转自:http://blog.youkuaiyun.com/luoshengyang/article/details/8462738 在前一个系列文章中,我们从个体的角度来分析了Android应用程序窗口的实现框架。事实上,如果我们从整体的角度来看,Android应用程序窗口的实现要更复杂,因为它们的类型和作用不同,且会相互影响。在Android系统中,对系统中的所有窗口进行管理是窗口管理服务Wi转载 2013-11-20 11:05:33 · 951 阅读 · 0 评论 -
MediaScanner生成及保存thumbnail的方式
转自:http://blog.youkuaiyun.com/qikaibinglan/article/details/6130589本文简单研究一下MediaScanner生成及保存thumbnail的方式,并给出代码快速查询图片的thumbnail,1. 手动执行Dev Tools /Media Scanner,或插入SD卡的时候,会启动MediaScannerService,把媒体文件转载 2013-10-28 18:54:12 · 867 阅读 · 0 评论 -
android Mediaplayer的创建流程和释放流程
原创 2013-10-22 16:34:29 · 2434 阅读 · 0 评论 -
Android apk安装管理(PackageManagerService 分析)
Android apk安装管理(PackageManagerService 分析) 本篇主要分析了系统启动阶段包管理服务的启动流程,其中的几个接口在apk安装时也会被调用。包管理服务启动时主要做的工作大致有如下几方面: 1.建立java层的installer与c层的转载 2013-10-26 12:15:08 · 1160 阅读 · 0 评论 -
android MediaPlayer 中的JNI总结
1、在android_media_MediaPlayer.cpp 中,定义fields静态变量,里面有两个重要的成员变量。 context: 用来保存创建的mediaplayer. post_event:用来将JNI层的事件回调给JAVA层。实现:mediaplayer.java中实现了postEventFromNative()函数,发消息给mediaplayer.ja原创 2013-10-26 10:20:34 · 2321 阅读 · 0 评论 -
APK安装过程及原理详解
转自:http://blog.youkuaiyun.com/hdhd588/article/details/6739281应用程序包的安装是android的特点APK为AndroidPackage的缩写Android应用安装有如下四种方式:1.系统应用安装――开机时完成,没有安装界面2.网络下载应用安装――通过market应用完成,没有安装界面3.A转载 2013-10-20 16:47:03 · 807 阅读 · 0 评论 -
android webkit html5视频处理框架
原创 2013-10-19 18:21:18 · 855 阅读 · 0 评论 -
http://blog.youkuaiyun.com/haomcu/article/details/7267090
转自:http://blog.youkuaiyun.com/haomcu/article/details/7267090一. Android平台Wifi的基本代码路径1. Wpa_supplicant源码部分external/wpa_supplicant_6/生成库libwpa_client.so和守护进程wpa_supplicant2.转载 2013-12-13 10:48:28 · 882 阅读 · 0 评论 -
Dalvik虚拟机简要介绍和学习计划
通过修改 android/framework/base/core/jni/AndroidRuntime.cpp 中的 property_get("dalvik.vm.heapsize", heapsizeOptsBuf+4, "16m");,来修改 dalvik heap size.转自:http://blog.youkuaiyun.com/luoshengyang/arti转载 2014-01-09 12:06:50 · 847 阅读 · 0 评论 -
android 外挂字幕接口
参考:http://developer.android.com/reference/android/media/MediaPlayer.htmlvoidaddTimedTextSource(String path, String mimeType)Adds an external timed text source file.原创 2015-02-26 11:43:03 · 1853 阅读 · 0 评论 -
android input 机制源码分析
具体文字说明请参考:http://blog.youkuaiyun.com/luoshengyang/article/details/6882903原创 2014-10-19 23:15:29 · 784 阅读 · 0 评论 -
android recovery 系统代码分析【精】
转自:http://blog.youkuaiyun.com/andyhuabing/article/details/9226569http://blog.youkuaiyun.com/andyhuabing/article/details/9248713最近做Recovery的规范及操作指导文档,花了一些时间将流程搞清。Android利用Recovery模式,进行恢复出厂设置,OTA升转载 2014-07-09 17:46:35 · 1248 阅读 · 0 评论 -
android 系统级应用和服务的启动流程
activityManagerService.java1. systemRaady() //收到systemReady 通知 2. AppGlobals.getPackageManager().getPersistentApplications(STOCK_PM_FLAGS) //从packageManager中获取到persistent 属性的应用原创 2014-07-27 14:44:04 · 829 阅读 · 0 评论 -
android之媒体硬解OMX的实现
转自:http://blog.youkuaiyun.com/vincent_blog/article/details/7578112android的多媒体部分采用的编解码标准是OMX,当然这个标准是用于硬件编解码的,软件编解码在这里我就不说了。直接从stagefright的awesomeplayer开始说起吧,如果看过我前面博客的人知道stagefright使用的三个步骤:setd转载 2014-06-15 16:13:08 · 1190 阅读 · 0 评论 -
Android 2.3 SD卡挂载流程浅析
转自:http://blog.youkuaiyun.com/yihongyuelan/article/details/6930112和转自:http://blog.youkuaiyun.com/ken_GL/article/details/6050168NetlinkManager中通过socket来接收来自kernel的event,获取设备的插拔信息。 在上一篇博文《Androi原创 2013-11-13 14:31:25 · 1091 阅读 · 0 评论 -
android Camera preview data 流程
原创 2013-11-21 17:29:16 · 1235 阅读 · 0 评论 -
android 设置壁纸wallpaper 流程总结
1. app client 端调用壁纸设置代码如下,调用设置代码后,会看到/data/system/users/0/wallpaper 图片文件更新为当前设置的壁纸文件,立马重启,有可能数据没有同步到flash中,稍后重启可以更新桌面WallpaperManager wallpaperManager = WallpaperManager.getInstance(this);wallpape原创 2014-07-16 20:57:59 · 4362 阅读 · 0 评论 -
浅析dalvik虚拟机JIT技术的实现
一、 说明据说Android 2.2的虚拟机dalvik使用了JIT技术,使其运行速度快了5倍。dalvik解释并执行程序,JIT技术主要是对多次运行的代码进行编译,当再次调用时使用编译之后的机器码,而不是每次都解释,以节约时间。5倍是测试程序测出的值,并不是说程序运行速度也能达到5倍,这是因为测试程序有很多的重复调用和循环,而一般程序主要是顺序执行的,而且它是一边运行,一边编译,一开始的时转载 2014-03-31 14:44:58 · 791 阅读 · 0 评论 -
audioFlinger 架构
原创 2014-01-17 11:13:26 · 704 阅读 · 0 评论 -
Android音频系统之AudioPolicyService
转自:http://blog.youkuaiyun.com/xuesen_lin/article/details/88051081.1 AudioPolicy Service在AudioFlinger小节,我们反复强调它只是策略的执行者,而AudioPolicyService则是策略的制定者。这种分离方式有效地降低了整个系统的藕合性,而且为各个模块独立扩展功能提供了保障。1.1转载 2014-01-17 14:50:18 · 717 阅读 · 0 评论 -
android 图形系统和3D openGL框架图
摘自《android 系统级深入开发》原创 2014-01-16 16:02:33 · 1419 阅读 · 0 评论 -
android -- WatchDog看门狗分析
转自:http://blog.youkuaiyun.com/andyhuabing/article/details/7395391android -- WatchDog看门狗分析在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的转载 2014-01-22 14:30:45 · 912 阅读 · 0 评论 -
Android浏览器插件开发
最近在开发一个Android上的浏览器插件,因此总结了一些经验。首先,我们应该对Netscape Plugin API有一定的了解,相关的资料可以查阅这个网页:https://developer.mozilla.org/en/Gecko_Plugin_API_Reference值得庆幸的是,Android的源码目录下提供了Plugin的范例,早期版本的源码包中,这个例子在exter转载 2013-10-19 15:54:19 · 925 阅读 · 0 评论 -
WiFi Display 介绍
转自:http://blog.youkuaiyun.com/dnfchan/article/details/8558552WiFI Display(WFD)是WiFI Alliance 开发出的一种规范,使多媒体设备之间建立和维持一个基于WiFi的连接,并且利用这个连接推进视频/音频的在目标设备的呈现播放。以下是原话The Wi-Fi Alliance is developing a转载 2013-07-29 18:15:52 · 1882 阅读 · 0 评论 -
Android 4.0 事件输入(Event Input)系统
转自:http://blog.youkuaiyun.com/myarrow/article/details/7091061 1. TouchScreen功能在Android4.0下不工作 原来在Android2.3.5下能正常工作的TouchScreen功能,移植到Android 4.0就不能正常工作了。凭直觉,Android4.0肯定有鬼。真是不看不知道,一看吓一转载 2013-06-25 17:27:54 · 861 阅读 · 0 评论 -
android 中的的 sp/wp/RefBase
转自:http://blog.youkuaiyun.com/innost/article/details/67524435.1 概述初次接触Android源码时,见到最多的一定是sp和wp。即使你只是沉迷于Java世界的编码,那么Looper和Handler也是避不开的。本章的目的,就是把经常碰到的这些内容中的“拦路虎”一网打尽,将它们彻底搞懂。至于弄明白它们有什么好处,就仁者见仁,智者见智了。个人觉转载 2013-06-24 15:46:37 · 894 阅读 · 0 评论 -
Android Display System --- Surface Flinger
转自一醉千年大大:http://blog.youkuaiyun.com/yili_xie/archive/2009/11/12/4803527.aspxSurfaceFlinger 是Android multimedia 的一个部分,在Android 的实现中它是一个service ,提供系统 范围内的surface composer 功能,它能够将各种应用 程序的2D 、3D surface 进转载 2013-06-24 13:55:03 · 642 阅读 · 0 评论 -
android flinger 源码分析
一、Flinger 类图结构二、 surfaceSession_init 流程,surface_init流程,Surface_lockCanvas流程,Surface_unlockCanvasAndPost流程一、SurfaceFlinger 服务启动过程:一、启动过程:1、frameworks\base\cmds\app_process\app_main.原创 2013-06-24 13:57:58 · 920 阅读 · 0 评论 -
Android系统Surface机制的SurfaceFlinger服务对帧缓冲区(Frame Buffer)的管理分析
转自:http://blog.youkuaiyun.com/luoshengyang/article/details/8046659 在前文中,我们分析了SurfaceFlinger服务的启动过程。SurfaceFlinger服务在启动的过程中,会对系统的硬件帧缓冲区进行初始化。由于系统的硬件帧缓冲区一般只有一个,并且不是谁都可以随便访问的,因此,它就需要由一个服务来统一管理。在Android系统转载 2013-06-21 18:24:50 · 759 阅读 · 0 评论 -
stagefright 支持的demuxer
1、android 2.3 版本 protocol 支持:http、httplive、rtsp://gtalk/ 、rtsp、file . demuxer 支持 :mp4 、mp3、ARM、WAV、OGG、mkv、Mpeg2TS . sw decoder 支持: mp3、AMR-NB、AMR-WB、AAC、AVC、G711、M4vH263、Vorbis、VPX原创 2013-06-18 10:50:02 · 780 阅读 · 0 评论