- 博客(34)
- 资源 (1)
- 收藏
- 关注
原创 art中的monitor机制--java 中 Synchronized与art Monitor的关系
在java 世界中我们使用synchronized 关键字对需要做同步的代码进行上锁操作,来保证同一时刻只有一个线程可以对加锁代码段进行同步操作.synchronized机制实现依赖对应虚拟机的实现,在android中实现该功能的就是art的Monitor部分.1 实验:一java代码: Object o=new Object(); public class Thread01...
2018-08-30 22:11:02
1397
原创 art中的monitor机制-序和目录
一序:最近看了一下art中的monitor部分,写了一篇文档。多年没有动csdn了。突然想整理到博客上,做了备忘,方便以后翻阅。另外分享给需要的人。二:目录第一部分:java 中 Synchronized与art Monitor的关系第二部分:Monitor 相关类介绍第三部分:MonitorEnter/MonitorExit流程第四部分:Art Monit...
2018-08-29 22:43:07
732
转载 由mmap引发的SIGBUS
原文地址http://blog.chinaunix.net/uid-20761674-id-3072704.html一直以来都觉得使用mmap读文件是非常高效、非常优雅的做法(参见《从"read"看系统调用的耗时》)。mmap之后,就可以通过内存访问的方式访问到文件里的内容,省去了read这样的系统调用。却不曾想过,mmap以后,如果读文件出错会发生什么……今晚看到
2016-12-14 19:47:50
1152
转载 可视化工具类VisualizerView
http://www.cnblogs.com/salam/archive/2011/01/09/1931241.html
2015-03-31 15:05:45
3000
转载 ANR log fenxi
yuanzhihttp://www.myexception.cn/android/1451941.html 1.2如何分析ANR问题引起ANR问题的根本原因,总的来说可以归纳为两类:应用进程自身引起的,例如:主线程阻塞、挂起、死循环应用进程的其他线程的CPU占用率高,使得主线程无法抢占到CPU时间片其他进程间接引起的,例如:当前应
2013-11-19 20:44:44
1035
原创 ubuntu下运行eclipse开发c++
1:安装jre2:安装eclipse3:下载cdt,解压后将feature和plugs 文件夹复制到eclipse对应文件夹下3.启动eclipse后,经过 Windows-->Preferences-->C/C++-->Build-->Environment 点Add添加:Name: C_INCLUDE_PATHValue: /usr/include和Name: CP
2013-10-15 20:09:51
1184
转载 Android-- bionic介绍 .
小组人员移植ntfs-3g碰到lseek越界问题,经过查证其使用了llseek函数导致死机的问题。其实问题很简单:调用处: llseek (int, unsigned long, unsigned long, loff_t*, int);但是在android bionic中将其对应到函数lseek,其函数声明如下:off_t lseek(int, off_t, int);
2013-09-06 17:29:48
1414
转载 git windows下搭建全过程
git windows下搭建全过程yuanwenzhang:http://blog.youkuaiyun.com/ruanjf/article/details/7331197分类: 编程工具 2012-03-08 00:56 5062人阅读 评论(5)收藏 举报gitwindowspath测试sshbash1、 Git,Windows下的Git,地址:http:
2013-08-28 21:03:11
772
转载 Service kill 掉之后有重新restart
http://blog.youkuaiyun.com/mjm0771/article/details/6701023最近项目中遇到一个问题:程序在系统注册了broadcastreceiver来监听启动通知,在onReceive中启动了一个service通过service的onStart来启动程序。问题在于,程序退出时没有stop这个service,之后当系统正常运行一段时间(1-2小时),程序突然自动
2013-07-03 13:30:02
4109
转载 android安全:forceStopPackage对android的Alarm的影响
原文http://my.oschina.net/lhjtianji/blog/127424也许一些使用alarmmanager做定时任务的同学遇到过这样的问题:设定alarm后,进入设置-->应用程序管理-->强行停止app后,定时任务就失效了。 简单的讲就是:force stop会导致alarm失效。 最典型的例子就是我碰到过的一个bug
2013-07-02 15:21:10
1988
3
转载 android persistent属性研究
原文http://www.2cto.com/kf/201202/118540.html为什么写这篇文章呢?前段时间在研究telephony时,一直没有在framework下发现对telephony的初始化(PhoneFactory.java中的makeDefaultPhones函数)的调用。结果全局搜索之后发现在application PhoneApp(packages/a
2013-07-01 14:02:48
543
转载 low power 流程
转载于:http://www.th7.cn/Program/Android/201212/114873.shtml我们都知道android电量的一些功能很多在service中,低电量也是如此,在BatteryService.java中我们可以从jni层(当然jni层的电量也是从下层kernel接收而来,这里就不做过多分析,有兴趣的可以去深入了解一下)获得机器的电量mBatt
2013-06-28 19:59:13
1067
转载 App调试的几个命令实践
在Android的应用开发中,我们会用到各种代码调试;其实在Android的开发之后,我们可能会碰到一些随机的问题,如cpu过高,内存泄露等,我们无法简单的进行代码调试,我们需要一个系统日志等等,下面我把握工作中碰到的几个常用命令和方法给大家演示实践一下。1.logcat命令这个命令最简单常用,可查看帮助,我不多说,如果需要打印时间,加参数-v time?
2013-06-27 14:13:57
566
转载 mmu 基本概念
http://baike.baidu.com/view/969924.htm,http://mopf.i.sohu.com/blog/view/159367153.htm一、MMU的历史 许多年以前,当人们还在使用DOS或是更古老的操作系统的时候,计算机的内存还非常小,一般都是以K为单位进行计算,相应的,当时的程序规模也不大,所以内存容量虽然小,但还是可以容纳当时的程序。但随着图形界面的兴起
2013-05-24 21:03:59
755
转载 用arm-eabi-objdump命令查看lib库或可执行文件的函数-地址映射信息
source build/envsetup.shchoosecomboarm-eabi-objdump -d out/target/product/generic/system/bin/mediaserver >mediaserver.addr 将mediaserver地址信息写入文件mediaserver.addrarm-eabi-objdump在prebuilt/linux
2013-03-01 19:00:44
4446
转载 linux DMA 解释
直接内存存储 (Direct Memory Access - DMA) 是一种计算机内数据传输的模式,它不需要中央处理器 (CPU) 的干涉。 DMA 的工作方式在不同架构的计算机内是以不同的形式被实现的。因此此篇文章将把讨论限制在对 IBM 个人计算机 (PC) 和 IBM PC/AT 以及其他所有后继者和兼容产品 的 DMA 子系统的实现以及工作方式上。 PC 的 DMA 子系统是
2013-02-28 10:13:35
4969
原创 report分析---堆栈例子
VM traces at last ANR20:28:50;-MountService (tid=45 pid=332 prio=5 state=WAIT)java.lang.Object.waitjava.lang.Thread.parkFor (Thread.java)sun.misc.Unsafe.park (Unsafe.java)java.
2013-02-26 15:50:01
993
转载 Android 调试技术
Android 调试技术by bob一、JAVA层单步调试参见“用eclipse单步调试Laucher”参见“用eclipse编译调试adnroid的Browser”二、Native层单步调试参见“使用GDB 单步调试Android本地代码”三、JAVA层堆栈打印1. 在指定的函数内打印相关java调用Log.d(TAG,Log.getStackTraceS
2013-02-26 10:13:03
627
转载 panic.py 使用
调试步骤如下:1/ 将异常的地址信息存到文本文件,并存放在项目根目录;2/ 使用panic.py解析该文件;3/ 根据返回的信息(文件名;行号;方法名)调试程序。 以操作第三方的Touch input 输入法为例,过程如下: # 该输入法的英文和手写OK,操作中文输入法时,出现异常,软键盘消失,异常日志如下02-05 06:41:19.834 D/dalvikvm(
2013-02-26 09:44:32
1057
转载 android ANR 分析
一:什么是ANRANR:Application Not Responding,即应用无响应二:ANR的类型ANR一般有三种类型:1:KeyDispatchTimeout(5 seconds) --主要类型按键或触摸事件在特定时间内无响应2:BroadcastTimeout(10 seconds)BroadcastReceiver在
2013-02-25 21:34:41
939
转载 dalvikvm gc相关log介绍
down voteI was also looking for this information.GC stands for garbage-collector, which collects unused objects during runtime of your app.GC_EXTERNAL_ALLOC: Means that the VM is try
2013-02-25 18:40:21
1344
原创 读懂进程相关参数
执行ps命令中pid 为进程idppid 为父进程的id在logcat 中230 232 F libc : Fatal signal 11 (SIGSEGV) at 0x00430089 (code=1)230 表示的是进程id232 表示的是线程的id
2013-02-22 17:23:08
495
转载 vmstat:报告虚拟内存统计信息
vmstat:报告虚拟内存统计信息作用:vmstat命令报告关于内核线程、虚拟内存、磁盘、陷阱和CPU活动的统计信息。由vmstat命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。用法:vmstat [-V] [-n] [延时[次数]]主要选项如下。-n:开关令第一次的信息只显示一次而不是周期地产生。
2013-02-22 13:59:14
491
转载 coredump介绍
coredump简介与coredump原因总结什么是coredump?通常情况下coredmp包含了程序运行时的内存,寄存器状态,堆栈指针,内存管理信息等。可以理解为把程序工作的当前状态存储成一个文件。许多程序和操作系统出错时会自动生成一个core文件。如何使用coredump?coredump可以用在很多场合,使用Linux,或者solaris的人可能都有过这种经历,系统在跑一些
2013-02-20 16:59:45
705
转载 有关onActivityResult提前调用的问题
http://blog.youkuaiyun.com/danericola/article/details/7532425#comments天准备在自己的游戏中加入蓝牙功能,于是将Android SDK Sample中的BluetoothChat看了看,发现基本上大部分的代码都可以复用,于是乎乾坤大挪移了一番,总算没有错误了,可是在我的Nexus上一运行,悲剧了,蓝牙明明打开了,可
2012-10-17 16:29:09
2542
原创 开关机的action
xml中开机 关机 java代码中:Intent.ACTION_BOOT_COMPLETEDIntent.ACTION_SHUTDOWN需要权限:
2012-10-15 18:54:43
2404
原创 输入法相关文件源码位置
frameworks/base/services/java/com/android/server系统服务的一部分。只有一个文件IMMS。frameworks/base/core/java/android/inputmethodservice IMS所在。frameworks/base/core/java/android/view/inputmethod IMM所在。framew
2012-08-14 10:35:08
546
原创 android 定时执行某个操作的方法
Timer timer = new Timer();timer.schedule(new TimerTask(){@Override public void run() { //do something here} }, 3000);
2012-08-03 14:37:47
1694
原创 android 输入法(IMF)中英文名词对应
Input Method Framework 输入法框架 IMFInput Method 输入法 IMInput Method Service
2012-07-30 10:30:46
658
原创 android 分辨率收录
QVGA = 320 * 240; WQVGA = 320 * 480; WQVGA2 = 400 * 240; WQVGA3 = 432 * 240;HVGA = 480 * 320; VGA = 640 * 480; WVGA = 800 * 480; WVGA2 = 768 * 480; FWVGA = 854 * 480;DVGA = 960 * 640;
2012-07-25 09:57:45
381
原创 activity 按back键 消失但是不销毁的实现
activity按back键 消失但是不销毁的实现重新定义finish()方法: @Override public void finish() { // TODO Auto-generated method stub if(!BackState){ setBackTask(false);
2012-07-03 09:35:30
5148
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人