- 博客(49)
- 资源 (19)
- 收藏
- 关注
转载 Android 音频处理
Track与AudioTrack之间,通过共享内存传递音频数据,简单分为两种情况:1.MODE_STATIC:数据一次性交付给对方完成所有数据的传递,简单高效。AudioFlinger 音频流管理由 AudioFlinger::PlaybackThread::Track 实现,Track 与 AudioTrack 是一对一的关系,在应用程序中,每创建一个AudioTrack,在AudioFlinger这边,AudioFlinger 里某个PlaybackThread中就会创建一个Track与其对应;
2024-11-19 20:51:18
67
转载 ubuntu切换软件源为国内源
Ubuntu安装完毕之后,默认的源是Ubuntu自己的,但毕竟Ubuntu服务器在国外,我们访问起来会比较慢,可以将软件源切换为国内源,比如:阿里源,清华源,中科大源等等。https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/一定要选择与自己版本相对应的源,然后复制那段代码。这个命令,会把本地已安装的软件,与刚下载的软件列表里对应软件进行对比,如果发现已安装的软件版本太低,就会提示你更新。这个命令,会访问源列表里的每个网址,并读取软件列表,然后保存在本地电脑。
2024-03-22 14:04:39
603
转载 Android13 环境配置、源码下载、全编译流程
请通过浏览器访问:https://source.android.google.cn/docs/setup/about/build-numbers?官方推荐配置请参考:https://source.android.google.cn/docs/setup/start/requirements?此处为了加快速度使用了-c参数,表示只同步当前分支,-j8表示使用8个线程今天同步代码,使用多少个线程请根据自己的机器配置自行修改。请使用如下命令初始化仓库并指定分支,此处以android-13.0.0_r7分支为例。
2024-02-21 15:36:03
630
转载 Android 新增一个自定义分区
在某个项目中,有一个需求,需要新增一个xxx分区,这个分区类似于vendor/oem分区,名字为指定的。此处有点好奇,为什么不直接使用oem分区,而是另外弄一个分区名出来。功能实现点在root目录下新增分区的挂载目录,将自定义分区的内容生成一个img。配置方案,将需要拷进自动以分区的模块、文件等配置好。在dts中加入xxx分区的支持。增加init解析rc的路径,支持xxx/etc/init下的rc文件。修改PackageManagerService,启动时包扫描增加xxx/app下的apk支.
2021-10-25 16:42:42
4125
转载 SurfaceFlinger启动
frameworks/native/services/surfaceflinger/ - main_surfaceflinger.cpp - SurfaceFlinger.cpp - DispSync.cpp - MessageQueue.cpp - DisplayHardware/HWComposer.cppframeworks/native/libs/gui/ - DisplayEventReceiver.cpp - BitTube.cpp一. 概述基于And.
2021-07-21 09:32:44
894
转载 SystemServer启动服务
一、启动流程SystemServer的在Android体系中所处的地位,SystemServer由Zygote fork生成的,进程名为system_server,该进程承载着framework的核心服务。startSystemServer()函数是system_server启动流程的起点, 启动流程图如下:上图前4步骤(即颜色为紫色的流程)运行在是Zygote进程,从第5步(即颜色为蓝色的流程)ZygoteInit.handleSystemServerProcess开始是运行在新创建的sy..
2021-07-20 20:57:57
905
原创 Linux/Android CPU频率调节模式那些事
cpufreq是一个动态调整cpu频率的模块,系统启动时生成一个文件夹/sys/devices/system/cpu/cpu0/cpufreq/,里面有几个文件,其中scaling_min_freq代表最低频率,scaling_max_freq代表最高频率,scalin_governor代表cpu频率调整模式,用它来控制CPU频率。一 、常见的几种CPU模式:1、ondemand:系统默认的超频模式,按需调节,内核提供的功能,不是很强大,但有效实现了动态频率调节,平时以低速方式运行,当系统负载..
2021-07-09 15:05:41
1480
转载 kernel中文件的读写操作可以使用vfs_read()和vfs_write
需要在Linux kernel--大多是在需要调试的驱动程序--中读写文件数据。在kernel中操作文件没有标准库可用,需要利用kernel的一些函数,这些函数主要有: filp_open() filp_close(), vfs_read() vfs_write(),set_fs(),get_fs()等,这些函数在linux/fs.h和asm/uaccess.h头文件中声明。下面介绍主要步骤 1. 打开文件 filp_open()在kernel中可以打开文件,其原形如下: strcut..
2021-07-09 15:01:34
5168
转载 Linux系统性能10条命令
概述通过执行以下命令,可以在1分钟内对系统资源使用情况有个大致的了解。uptime dmesg | tail vmstat 1 mpstat -P ALL 1 pidstat 1 iostat -xz 1 free -m sar -n DEV 1 sar -n TCP,ETCP 1 top其中一些命令需要安装sysstat包,有一些由procps包提供。这些命令的输出,有助于快速定位性能瓶颈,检查出所有资源(CPU、内存、磁盘IO 等)的利用率(utilization)、饱和
2021-06-29 11:37:57
552
转载 android 永久性开启adb 的root权限
adb 的root 权限是在system/core/adb/adb.c 中控制,主要根据ro.secure 以及 ro.debuggable 等system property 来控制。默认即当ro.secure 为0 时,即开启root 权限,为1时再根据ro.debuggable 等选项来确认是否可以用开启root 权限。为此如果要永久性开启adb 的root 权限,有两种修改的方式:1...
2019-11-15 09:43:38
1218
转载 Android Context完全解析与各种获取Context方法
Context类型我们知道,Android应用都是使用Java语言来编写的,那么大家可以思考一下,一个Android程序和一个Java程序,他们最大的区别在哪里?划分界限又是什么呢?其实简单点分析,Android程序不像Java程序一样,随便创建一个类,写个main()方法就能跑了,而是要有一个完整的Android工程环境,在这个环境下,我们有像Activity、Service、Broadca...
2019-11-11 19:05:18
1229
原创 Android 蓝牙音乐播放控制的接口实现
import android.media.browse.MediaBrowser;import android.media.session.MediaController; private final int CMD_PLAY = 1; private final int CMD_PAUSE = 2; private final int CMD_PRV = 3...
2019-11-09 14:59:45
2789
2
原创 Android : 通过pid获取app包名
方法一:这个方法用在app主线程的activity或service里,因为要有context获取am。 private String getAppName(int pid) { String pkgName = ""; ActivityManager am = (ActivityManager)this.getSystemService(Con...
2019-11-04 09:28:38
2070
转载 sed命令详解
http://www.cnblogs.com/edwardlost/archive/2010/09/17/1829145.htm1.简介sed是非交互式的编辑器。它不会修改文件,除非使用shell重定向来保存结果。默认情况下,所有的输出行都被打印到屏幕上。sed编辑器逐行处理文件(或输入),并将结果发送到屏幕。具体过程如下:首先sed把当前正在处理的行保存在一个
2017-06-09 19:04:10
328
转载 Android pm 命令详解
一、pm命令介绍与包名信息查询1.pm命令介绍pm工具为包管理(package manager)的简称可以使用pm工具来执行应用的安装和查询应用宝的信息、系统权限、控制应用pm工具是Android开发与测试过程中必不可少的工具,shell命令格式如下:pm 2.包名信息查询shell模式下:pm list packages [op
2017-06-03 10:35:39
606
转载 onInterceptTouchEvent和onTouchEvent调用关系详解
一、onTouch onTouch是View中OnTouchListener接口中的方法,处理View及其子类被touch是的事件处理。当然,前提是touch时间能够传递到指定的view。Q1:为什么会传递不到呢? Java代码 /** * Interface definition for a callback to be invoked w
2017-01-11 10:26:51
451
转载 shell if,test 指令中的参数
[ -a FILE ]如果FILE存在则为真。[ -b FILE ]如果FILE存在且是一个块特殊文件则为真。[ -c FILE ]如果FILE存在且是一个字特殊文件则为真。[ -d FILE ]如果FILE存在且是一个目录则为真。[ -e FILE ]如果FILE存在则为真。[ -f FILE ]如果FILE存在且是一个普通文件则为真。
2016-06-21 15:27:44
930
转载 2016 年排名 Top 100 的 Java 类库
我们分析了GitHub中47,251个依赖,从中找出了排名前一百的Java类库,让我们看看谁在前面,谁在后面。我们在漫长的周末的消遣方式就是浏览GitHub并且搜索流行的Java类库。我们决定把其中的乐趣与结果分享给你。我们分析了GitHub中排名前3,862个项目中的47,251个导入语句,其中有12,059个Java类库被依赖。我们从这个列表中提取出前一百并把结果分享给
2016-05-25 09:58:54
624
转载 设计模式
目录创建型1. Factory Method(工厂方法)2. Abstract Factory(抽象工厂)3. Builder(建造者)4. Prototype(原型)5. Singleton(单例)结构型6. Adapter Class/Object(适配器)7. Bridge(桥接)8. Composite(组合)9. Decorator(装饰)
2016-05-25 08:54:44
318
转载 Java常见内存溢出(OOM)解决方案
一,jvm内存区域1, 程序计数器一块很小的内存空间,作用是当前线程所执行的字节码的行号指示器。2, java栈与程序计数器一样,java栈(虚拟机栈)也是线程私有的,其生命周期与线程相同。通常存放基本数据类型,对象引用(一个指向对象起始地址的引用指针或一个代表对象的句柄),reeturnAddress类型(指向一条字节码指令的地址)
2016-05-24 14:03:25
355
转载 android关于AndroidManifest.xml详细分析
http://www.cnblogs.com/zady/archive/2013/10/14/3368385.htmlandroid关于AndroidManifest.xml详细分析一、关于AndroidManifest.xmlAndroidManifest.xml 是每个android程序中必须的文件。它位于整个项目的根目录,描述了package中暴露的组件(
2016-05-14 10:22:47
699
原创 Android4.2.2自增物理按键
转载地址: http://www.2cto.com/kf/201405/298944.html当我们修改了frameworks后可能出现:make: *** [out/target/common/obj/PACKAGING/checkapi-current-timestamp] 错误 38解决办法:make update-api在Android中添加物理按键
2016-02-29 16:14:57
503
原创 Android获取屏幕宽度与长度的五个方法
1、WindowManager wm = (WindowManager) getSystemService(Context.WINDOW_SERVICE);int width = wm.getDefaultDisplay().getWidth();int height = wm.getDefaultDisplay().getHeight();2、WindowMa
2015-12-25 16:46:56
2223
转载 详解 clone方法
Java中对象的创建clone顾名思义就是复制, 在Java语言中, clone方法被对象调用,所以会复制对象。所谓的复制对象,首先要分配一个和源对象同样大小的空间,在这个空间中创建一个新的对象。那么在java语言中,有几种方式可以创建对象呢? 1 使用new操作符创建一个对象 2 使用clone方法复制一个对象 那么这两种方式有什么相同和不同呢? new操作符的本意是分配
2015-10-23 18:00:46
1439
转载 Android Uevent 分析,从kernel到framework
原文:http://blog.chinaunix.net/uid-24545924-id-3128349.htmlUevent是内核通知android有状态变化的一种方法,比如USB线插入、拔出,电池电量变化等等。其本质是内核发送(可以通过socket)一个字符串,应用层(android)接收并解释该字符串,获取相应信息。一、Kernel侧:UEVE
2015-10-09 11:03:19
550
转载 Android 悬浮并可拖动的实现
http://www.2cto.com/kf/201205/132308.html 通过下面几句代码,就可以让一个View凌驾在所有View之上。1234567891011121314151617Wind
2015-09-24 16:58:55
726
转载 android定位方式
http://www.cnblogs.com/oudi/archive/2012/03/22/2411509.html最近在看android关于定位的方式,查了很多资料,也做了相关实验,在手机上做了测试,下面总结:一共有三种定位方式,一种是GPS,一种是通过网络的方式,一种则是在基于基站的方式,但是,不管哪种方式,都需要开启网络或者GPS 首先添加权限
2015-09-15 09:05:14
428
转载 ANDROID 获取时间格式
//通过DateFormat获取系统的时间 通过DateFormat方式只能获取12小时制时间String currentTime=DateFormat.format("yyyy-MM-dd hh-mm-ss", new Date()).toString();currentTime="通过DateFormat获取的时间:\n"+currentTime; //通过SimpleDateFo
2015-08-05 20:20:26
478
转载 U盘插拔监听 ,安装app监听,需要添加DataScheme
转载地址: http://blog.sina.com.cn/s/blog_9f233c070101cn5b.html注册SD卡插拔接收器时,不但需要IntentFilter intentFilter = new IntentFilter(Intent.ACTION_MEDIA_MOUNTED); intentFilt
2015-08-04 14:04:16
718
转载 改变Activity在当前任务堆栈中的顺序
本示例演示如何通过设置Intent对象的标记,来改变当前任务堆栈中既存的Activity的顺序。1. Intent对象的Activity启动标记说明:FLAG_ACTIVITY_BROUGHT_TO_FRONT:应用程序代码中通常不设置这个标记,而是由系统给单任务启动模式的Activity的设置。FLAG_ACTIVITY_CLEAR_TASK:如果给Int
2015-07-20 14:13:36
765
原创 android 强制关闭后台程序方法
1. ActivityManager am1 = (ActivityManager)mContext.getSystemService(Context.ACTIVITY_SERVICE); List recentTasks1 = am1.getRunningServices(50); //获得所有正在进行的程序 int numTasks
2015-07-16 15:03:15
2329
转载 Android ListView滑动背景变黑色的解决办法
手指在ListView上下滚动时,ListViewItem背景变黑,因为在滚动的时候为了提升性能做了优化,为提高滚动的性能,Android 框架在ListView中引入CacheColorHint属性。如果该值为非0,则说明该ListView绘制在单色不透明的背景上,在默认情况下该值 为#191919,也就是黑色主题中的黑色背景颜色值,这样当ListView滚动的时候就会使用该值来绘制ListVi
2014-05-27 11:07:13
457
原创 android 设置view或窗口透
一. 设置View透明度 1.在xml文件中设置 ,eg: android:background="#00000000" 或 android:background="@android:color/transparent" 2.在代码里设置 ,eg: mAblunImg = (ImageView)findViewBy
2014-03-13 10:04:50
992
转载 Java 枚举7常见种用法
转发:http://www.iteye.com/topic/1116193DK1.5引入了新的类型——枚举。在 Java 中它虽然算个“小”功能,却给我的开发带来了“大”方便。用法一:常量在JDK1.5 之前,我们定义常量都是: publicstaticfianl.... 。现在好了,有了枚举,可以把相关的常量分组到一个枚举类型里,而且枚举提供了比常量更多的方法
2014-02-14 16:13:12
559
转载 android 文件夹文件搜索
原网址:http://outofmemory.cn/code-snippet/2637/android-de-chazhaowenjian该代码主要实现android下搜索文件夹中包含图片的文件,并将其放入list中。调用方法:File f = new File("/mnt");lstFile = findFile(f,".jpg");private static ListFile>
2014-02-14 16:10:23
989
转载 Android 编译系统 介绍
转载地址 :http://blog.sina.com.cn/s/blog_6bdbc71601010v5x.html1.Makefile & Android build system在进行讲述Android编译系统之前,应该先了解一下编译时所使用的Makefile,或者说复习下这方面的知识,这样才能更好的了解Android build system的原理。1.1.M
2014-01-22 11:59:34
788
VolleyPlus_full.jar
2016-05-26
VolleyPlus.jar
2016-05-26
awk使用手册,awk使用手册
2008-10-25
Delphi基础经典入门.chm
2007-12-15
安卓平台图像平滑处理方案
2024-01-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人