Android源码
文章平均质量分 84
文森88
个人博客
展开
-
【转】Android 自定义 添加systrace
android systrace转载 2022-06-12 18:00:30 · 1231 阅读 · 0 评论 -
opencv4.0.1编译Android opencv SDK-ubuntu
openCV android SDK编译1.环境变量设置 ~/.bashrcexport ANDROID_HOME="/media/vicent/NewDisk2/bin_linux/android-sdk-linux"export ANDROID_SDK="/media/vicent/NewDisk2/bin_linux/android-sdk-linux&am原创 2019-01-28 01:15:11 · 1372 阅读 · 0 评论 -
Android Camera API1和API2在callback接口上的差异
API2 setOnImageAvailableListener public void setOnImageAvailableListener (ImageReader.OnImageAvailableListener listener, Handler handler) handler参数:如果设置了handler,则listener的call...原创 2018-07-04 16:10:20 · 1189 阅读 · 0 评论 -
Android获取当前App已经使用java heap大小
Runtime runtime = Runtime.getRuntime();Getting the max heap size that the app can use://获取可以使用java heap最大值,单位bytelong maxMemory=runtime.maxMemory();Getting how much of the heap your app can n...原创 2018-04-27 15:35:13 · 1457 阅读 · 0 评论 -
Android 在native层binder跨进程通信
目录 -bbinder与bbinder通讯 -bpbinder与bbinder通讯 -共享内存 -ion原创 2018-05-04 18:01:13 · 780 阅读 · 0 评论 -
linux多线程编程
1.static成员变量 要加全局的的锁保护static成员变量在不同的对象里相当于是同一个变量2.同一线程两次访问 同一变量,全程要加一个锁3.线程创建线程函数是static的函数,故而个如果定义在类成员函数中,则该线程函数不能访问this指针。需要在create thread的时候通过thread参数传入类的指针。 pthread_create(fun,0,this)...原创 2017-05-27 16:05:11 · 380 阅读 · 0 评论 -
pthread_cond_broadcast与pthread_cond_signal使用区别
引用opengroup的描述1.下面情况适合用pthread_cond_broadcast 一个生产者多消费者,生产者能一次产生多个产品的情况。 多生产者多消费者 读写锁实现(写入之后,通知所有读者) 2.下面情况适合pthread_cond_signal的情况 单一生产者,生产者一次生产一个产品的情况,最好一个消费者 注意:pthrea...原创 2017-04-11 11:54:24 · 11929 阅读 · 0 评论 -
Qcom 平台Crash时候Backtrace分析
01-01 19:51:47.473 780 30383 F libc : Fatal signal 11 (SIGSEGV), code 1,fault addr 0x0 in tid 30383 (CAM_strmDatProc) 错误类型 signal 11,错误原因 错误地址0x001-01 19:51:49.244 775 775 F DEBUG原创 2017-03-14 10:05:25 · 1013 阅读 · 0 评论 -
Log分析技巧
1.关键字查找:(用于筛选,或者已知问题查找)1.1由现象快速查找定位经验主义,通过以往大量log的分析经验, 熟悉已知的fail log。比如CameraApp Crash log: force stopping com.asus.cameraCamera HAL/daemon crash:backtrace:其他fail/error 1.2查找log中关键字常...原创 2017-03-21 11:22:59 · 9610 阅读 · 0 评论 -
动态栈中内存布局
动态栈中内存布局1.1进程中内存布局1.2 函数调用中栈内存Main()->int print_out(int begin, int end)调用栈函数调用时:Main函数首先压入:print_out的实参1,2;接受返回值的地址(如果没有返回值?),main的ebpprint_out的Ebp =(main)Esp,Esp后移动建立新print_ou原创 2016-06-14 16:25:08 · 447 阅读 · 0 评论 -
__stack_chk_fail栈检查失败
1. __stack_chk_fail的作用在了函数的局部变量和保存的指令指针(译注:此处指返回地址和EBP)之间。这个值被称作金丝雀(“canary”)值参考http://www.freebuf.com/articles/system/24177.html2. 发生原因及原理数组越界写入,导致 canary值被修改。在函数退出时检查canary,发现canar原创 2016-06-06 19:30:49 · 28419 阅读 · 1 评论 -
线程函数退出时候crash
解决办法线程函数退出之前执行pthread_exit()原因分析pthread_exit()退出当前线程,不退出子线程。return 退出当前的线程,以及子线程。如果有子线程没有资源释放,就可能导致crash.pthread_create()原创 2016-05-06 21:29:21 · 2456 阅读 · 0 评论 -
Makefile文件的简单理解
make文件的主要格式如下 edit : $(objects)//这里是一个edit的标签,表示edit由objects生成,当objects中的.o文件没有生成时,会先执行编译.o的命令 cc -o edit $(objects)//这里是编译命令 ...//后面可以跟更多的命令(shell 等)原创 2016-05-07 17:34:17 · 421 阅读 · 0 评论 -
Android调用栈打印
1.用户空间打印调用栈 void *stack_addr[10]; int layer; int i; char **ppstack_funcs; /* 通过调用libc函数实现 */ layer = backtrace(stack_addr, 10); ppstack原创 2016-04-29 10:13:44 · 522 阅读 · 0 评论 -
mediaserver内存泄露分析
Android 内存查询命令top命令PID PR CPU% S #THR VSS RSS PCY UID NameVSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)PSS- Proportional Set Size 实际使用原创 2016-01-18 16:44:12 · 2935 阅读 · 0 评论 -
打印Android HAL层堆栈
1.头文件./system/core/include/utils/CallStack.h依赖库:Android O及更低版本:android P以上版本:libutilscallstack2.使用#include <utils/CallStack.h>CallStack stack;stack.update(1);stack.log("xxx");3.Ca...原创 2015-09-23 15:05:11 · 2765 阅读 · 0 评论 -
ubuntu 15.04 Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar 问题解决
sudo apt-get remove jayatana详见http://stackoverflow.com/questions/26074446/picked-up-java-tool-options-javaagent-usr-share-java-jayatanaag-jar-when-st原创 2015-05-19 00:11:25 · 1535 阅读 · 0 评论 -
iTop4112 Android源码编译问题
问题一参考搭建Ubuntu14.04编译环境并下载源码(二)http://www.it165.net/os/html/201407/8770.html问题二:0:0: error: "_FORTIFY_SOURCE" redefined [-Werror] :0:0: note: this is the location of the previous definiti原创 2015-05-26 22:58:13 · 510 阅读 · 0 评论