软硬件使用

HTC Legend G6的恢复出厂设置方法

在Legend上用电子市场(Android Market)下载软件的时候误绑了Google Account,想删掉,结果发现提示什么有程序正在使用这个账号只能通过恢复出厂设置的方式清除。网上有朋友说可以通过清除应用程序管理里Google企业应用套件的保存数据的方式做到,结果发现这个G6的Google App里根本没有提到的清除选项,无奈只好恢复出厂设置,结果执行了之后一直卡在 正在重启 这个弹板这里,仔细看了一下后面好像有个什么对话框弹出来,但焦点已经被锁定了看不清后面到底提示的什么。最后在htc官网上找到了通过重启机器进类似bios的东西清掉的方法:
Performing a factory reset using phone buttons
If you cannot turn on your phone or access the phone settings, you can still perform a factory reset by using the buttons on the phone.

With the phone turned off, press and hold the VOLUME DOWN button, and then briefly press the POWER button.
Wait for the screen with the three Android images to appear, and then release the VOLUME DOWN button..
Press VOLUME DOWN to select CLEAR STORAGE, and then press POWER.
Press VOLUME UP to start the factory reset.

[ZT]简单内存泄漏检测方法,解决Detected memory leaks!问题

原文地址:http://hi.baidu.com/v71000/blog/item/414437de599dfed58c102929.html

工作环境:WIN7,VS2005:

最近一个项目中,程序退出后,每次都出现内存泄漏,每次退出的时候泄露的内存块都是1654,1650。

Detected memory leaks!
Dumping objects ->
{1654} normal block at 0x01CC1B28, 40 bytes long.
Data: 54 00 69 00 63 00 6B 00 65 00 74 00 20 00 69 00
{1650} normal block at 0x01CC1BF0, 16 bytes long.
Data: 64 6B E8 95 68 79 0D 4E FD 80 7F 4F 28 75 00 00
Object dump complete.

解决方法

1、在程序开始的地方,加上代码:_CrtSetBreakAlloc(1654); //1654为上面内存泄漏的块号。

2、用Debug模式运行,程序自动断点在“内存块1654”分配的位置。

3、这个时候一直利用“调试”-“退出”,或快捷键“SHIFT+F11”跳转,直到看到了自己的代码。

4、检查自己在该代码中分配的内存块,是否进行了合理的释放。

开启Visual Studio下C++的注释TODO自动列表到TaskList窗口功能

用Eclipse写JAVA时已经习惯了在注释里写TODO,然后Tasks小窗口中就能够看到当前source页里的所有TODO,用起来很方便。这几天用VS 2010写MFC时留了很多TODO,才发现开了VS的Task List窗口竟然看不到代码页里的TODO位置,看了一下M$的官方Blog发现原来只有VC++用这个功能时是需要手动开启的,VB、C#都是直接开启的。VC++开启这个功能的位置如下:
Tools->Options->Text Editor->C/C++->Formatting-> Miscellaneous->Enumerate Comment Tasks。
官方说法这个选项在C++里被默认关闭的原因是due to performance reasons。

为Eclipse ADT创建的android项目通过ant添加proguard混淆支持

假设已有ADT创建的android项目HelloAndroid并且已经有可用的proguard混淆器(我用的proguard4.4)。
第一步要做的是为项目添加ant build支持。由于ADT插件并不直接支持proguard等混淆器,所以不能像j2me那样在有功能比较完善的插件(如EclipseME等)的基础上直接一键混淆一键打包,不过好在android sdk本身提供了比较完善的ant编译支持,可以通过类似命令行编译的方式,对android项目的整个编译、生成过程进行自定义,从而能够实现对编译中途生成的java bytecode进行插入proguard混淆操作然后再转android dex码生成apk。
进入命令行模式,并切换到项目目录,执行如下命令为ADT创建的项目添加ant build支持:
Continue reading…

Eclipse写AS插件FDT的Not Enough Memory问题(-Xmx512m)

FDT是一个用来写Flash AS项目的非常好用的eclipse插件,很有写java时的感觉,智能感知什么的功能都比较到位,但是这个插件在我的eclipse下一直不太顺畅,启动后总是报内存不足然后让在ini文件中添加-Xmx512m问题!参考狗狗出来的一些资料信息,开始还能通过乱改ini解决,但是后来在最近一次java update后就怎么改也不行了,而且无视这个问题的话,最终会导致eclipse报内存异常,然后功能不起作用,只能关了重开。后来经过一些调整,发现了一个可以解决的ini设置,至少是在我这的环境下不再抱memory问题了,有同样问题的朋友可以试试:
-vmargs
-Xms128M
-Xmx1024M
-XX:PermSize=64M
-XX:MaxPermSize=128M

-XX:+UseParallelGC
最后这行据说是可以在多核cpu上提高gc效率的参数。

关于Nokia 5800安装sis时的证书过期问题

以前在S60 3rd的机器上安装刚做好的sis时也会出现“证书过期”的提示,或者是证书尚未生效,但通过调整系统日期时间的方式可以将就过去,可5800上出现同样问题时就不行了,调系统时间怎么也找不到证书合法的时间段,调靠后点说证书过期,靠前点说证书非法,已过期或手机日期设置不正确(Certificate may be not valid, is expired or phone’s date settings may be incorrect)等,确定证书生效时间肯定没问题(经过symbiansigned在线签证的,装在3版机上也没问题)。其实这是5800系统的一个bug,据说目前还没有修正,经过我的测试,这个bug只会影响非自签名的sis安装,如果是自签名的包安装是不会出这种错的。在这bug修正前的临时解决方法就是备份手机资料,然后用*#7370#将手机恢复出厂设置(默认锁码12345),然后重启设置正确的时区日期时间以后就可以了。N97没试过是否也这样,所以不确定这个问题是5800的通病还是S60 5th的通病。

发现一款比较好用的WM上的telnet软件Token2Shell/Mobile

token2shell mobile版1

token2shell mobile版


token2shell mobile版

token2shell mobile版


token2shell windows版

token2shell windows版

http://choung.net/
这个软件不仅普通telnet功能做的比较好,ssh连接功能也不错,终于可以摆脱putty了。通过修改设置里的编码属性可以很好的支持中文的显示(作者好像是韩国人,对亚洲文字的支持就是比一般的国外软件做的好),用wm看看水木还是挺不错的。
其实这个软件的windows版本也是挺好用的,尤其是针对ssh的一些功能,比如tunnel等等,而且界面看上去也是简洁明快。

附上windows版5.4.1和mobile版5.3.0的特别文件,仅供学习研究使用!
http://www.k-res.net/dl/token2shellc.rar

如何在Carbide.C++中整合使用SVN

Carbide.C++这个IDE是基于Eclipse的,装好之后就自带了CVS版本控制插件,但要是想用SVN的话就得自己添加插件了,这里用的是Subclipse(一搜就搜到这个,貌似就是这个插件独占了)。

我的Carbide.C++是2.0版本,装的Subclipse是1.6.x,早期版本应该也是可以用的吧。

打开Carbide.C++,然后在菜单项中的Help > Software Updates > Find and Install 中选择 New Remote Site ,然后名字随便起,url填 http://subclipse.tigris.org/update_1.6.x ,完成以后就能取到update site里的所有项目了。这里得注意要把Subclipse Integration for Mylyn 3.x (Optional) 这个可选项前面的勾去掉,因为这个组件项所依赖的一个插件Carbide并没有默认提供!后面一路继续,该接受的接受,该重启重启,完事就ok了。同步方式和用自带的CVS没什么太大区别。