Android内存泄漏问题的排查

作者: liubin 日期: 2010年12月20日  分类:Android  Comments Off 
Android内存泄漏问题的排查
稍好效果,请点击这里下载PDF版本 首先先检查下你有没有犯这些错误(内存泄露的主要原因): 生命周期过长的对象(static),尤其是集合对象(List/Map等)作为cache等使用,如果没有将某个对象主动的从中清除的话,这个集合就会占用越来越多的内存,可以用WeakReference,如WeakHashMap,使得它持有的对象不增加对象的引用数。 Scope定义不对,方法的局部变量定义成类的变量,类的静态变量等。尽量使得变量作用域别太大。 异常时没有加finally{}来释放某些资源,比如Cursor。 Listener没有显式remove;内部类持有外部对象的隐式引用,不论是什么,如果有add方法,一...
414 days前 / 0 次浏览阅读全文

android内存泄露(memory leak)之进程HProf (Heap Profile) 信息

作者: liubin 日期: 2010年12月17日  分类:Android  Comments Off 
android内存泄露(memory leak)之进程HProf (Heap Profile) 信息
因为性能问题(主要是内存泄漏),需要采集程序堆栈等信息,代码如下,只是简单说几个地方: 1.默认的HProf (Heap Profile) 放在/data/misc,需要改写权限为777 2.kill -10 pid 即可生成.prof文件 3.需要用android sdk的hprof-conf将android的hprof转化为标准的(能在MAT中用的) #!/bin/sh   # author liubin (http://liubin.nanshapo.com) # get_hprof.sh 2010/12/17   ######################################################## ###########                              #...
417 days前 / 0 次浏览阅读全文

在pc上操作实机

作者: liubin 日期: 2010年11月29日  分类:Android  Comments Off 
在pc上操作实机
实机屏幕花了,没法操作,还好有 androidscreencast 这个软件。 这个软件,可以在pc上模拟操作真机,不仅是menu,back键,屏幕操作也可以,很方便。 我手工装的jdk1.5好像不太好用,启动出错;安装了openjdk-6-jdk之后,用它打开,就可以启动了: sudo apt-get install openjdk-6-jdk /usr/lib/jvm/java-6-openjdk/bin/javaws androidscreencast.jrlp
435 days前 / 0 次浏览阅读全文

手动启动媒体扫描

作者: liubin 日期: 2010年11月26日  分类:Android  Comments Off 
手动启动媒体扫描
adb shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file:///sdcard Development\src\com\android\development\MediaScannerActivity.java中: @Override     public void onResume() {         super.onResume();           ........           sendBroadcast(new Intent(Intent.ACTION_MEDIA_MOUNTED, Uri.parse("file://" + Environment.getExternalStorageDirectory())));         ........     } 可以看出...
438 days前 / 0 次浏览阅读全文

logcat tips

作者: liubin 日期: 2010年11月25日  分类:Android  Comments Off 
logcat tips
写程序少不了调试,相对与debug,打log可能最简单。 adb 的logcat能查看所有的log,然后,很多时候可能不是我们想看的,所以,特总结了一些小窍门 1. 只看某一TAG的log adb logcat TWE:* *:S 在运行logcat的时候在前两列的信息中你就可以看到 logcat 的标签列表和优先级别, 它是这样标出的: / . 下面是一个logcat输出的例子,它的优先级就似乎I,标签就是ActivityManage: I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action…} 标签就是log.d的第一个参数了。 logcat过滤器的语法是tag:priority,所以,TWE:*,就表示标签TAW的...
439 days前 / 0 次浏览阅读全文

从命令行给模拟器拨打电话

作者: liubin 日期: 2010年11月25日  分类:Android  Comments Off 
从命令行给模拟器拨打电话
从Eclips的DDMS视图虽然可以给模拟器打电话,发短信,但是毕竟要去编辑源代码的换还要切换模式。 其实可以从命令行进行。 首先,登录到模拟器: telnet localhost 5554 进入后,按help可以得到帮助 help Android console command help: help|h|? print a list of commands event simulate hardware events geo Geo-location commands gsm GSM related commands kill kill the emulator instance gsm2 GSM2 related commands network manage network sett...
439 days前 / 0 次浏览阅读全文

sqlite的PHONE_NUMBERS_EQUAL函数

作者: liubin 日期: 2010年11月24日  分类:Android  Comments Off 
sqlite的PHONE_NUMBERS_EQUAL函数
怎么才叫两个电话号码相等?用=肯定不行,86 138xxx 和0138xxx应该是相等的 android里在c实现了PHONE_NUMBERS_EQUAL函数,这个函数有3个参数。 前两个自然是需要比较的电话号码了,第三个参数有些特别,可选值为0或者1。 查看源代码可见,这个参数名为accept_thailand_case,看来和泰国有关了 各个国家的电话号码规则都不一样,看来移植的时候这个文件是必须被修改的。 在我们这里,第三个参数用0就可以了 代码位置在external\sqlite
440 days前 / 0 次浏览阅读全文

创建android home程序

作者: liubin 日期: 2010年11月11日  分类:Android, 技术  Comments Off 
创建android home程序
需要在manifest.xml里加入: <intent-filter>      <action android:name="android.intent.action.MAIN" />      <category android:name="android.intent.category.HOME" />      <category android:name="android.intent.category.DEFAULT" />  </intent-filter>
453 days前 / 0 次浏览阅读全文

转载:关于手机CPU

作者: liubin 日期: 2010年11月11日  分类:技术  Comments Off 
转载:关于手机CPU
目前市面上的CPU大体分为三大厂商,高通,TI德州仪器,三星。三个厂商都是买ARM执照在改造ARM构造。 高通与TI,三星不同,高通是把A8做为平台,工艺技术跟A8接近,而TI与三星是改造A8为自己所用。我把主频定为1GBhz,来对比。 1.高通: 高通的Snapdragon SD8X50是最早与大家见面的1GHz处理器解决方案,基于Cortex-A8架构,它集中于CPU,GPU ,通信芯片,GPS芯片等多种芯片,很多厂商喜欢高通的CPU,原因是1个高通CPU,通信、GPS…全部解决很省地。该图形处理器基本数据为输出为 22Mpolygon/sec,像素填充率为1.33亿。它GPU的图形处理能力是这三个厂里最弱的。但高通的Sn...
453 days前 / 0 次浏览阅读全文

Apache的默认文件列表显示UTF-8全文件名

作者: liubin 日期: 2010年10月14日  分类:技术  Comments Off 
Apache的默认文件列表显示UTF-8全文件名
如果一个目录不做任何处理,直接在apache下浏览,可能会有两个问题 1.长文件名不能被全部显示,最后会变为省略号 2.默认的网页编码为Iso-859-1,需手工改为utf-8,否则乱码 其实,在该目录下加一个.htaccess就可以了: cat .htaccess IndexOptions FancyIndexing VersionSort NameWidth=* Charset=UTF-8
481 days前 / 0 次浏览阅读全文