摘要: 转自:http://www.eoeandroid.com/thread-229696-1-1.html最近在工作中处理了一些内存泄露的问题,在这个过程中我尤其发现了一些基本的问题反而忽略导致内存泄露,比如静态变量,cursor关闭,线程,定时器,反注册,bitmap等等,我稍微统计并总结了一下,当然了,这些问题这么说起来比较笼统,接下来我会根据问题,把一些实例代码贴出来,一步一步分析,在具体的场景下,用行之有效的方法,找出泄露的根本原因,并给出解决方案。现在,就从cursor关闭的问题开始把,谁都知道cursor要关闭,但是往往相反,人们却常常忘记关闭,因为真正的应用场景可能并非理想化的简单。 阅读全文
posted @ 2012-12-25 17:48 xxzjjcbx 阅读(622) 评论(0) 推荐(0) 编辑
摘要: 转载地址:http://www.cnblogs.com/zelos/archive/2011/02/27/1966403.htmlANR窗口产生的原因是多种多样的。程序的主线程因为IO读写或网络阻塞而导致被阻塞了,外部存储设备被独占了或系统负荷(load)过高(即不是自己编写的程序的问题,可能是系统或者其他第三方程序导致的问题),都有可能导致ANR窗口的出现。 从Android 2.3开始提供了一个新的类StrictMode,可以帮助开发者改进他们的Android应用,StrictMode可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用,可以帮助开发者使其改进程序,使主线程处理 阅读全文
posted @ 2012-12-25 17:44 xxzjjcbx 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 转载地址:http://www.cnblogs.com/zelos/archive/2011/02/27/1966403.htmlANR窗口产生的原因是多种多样的。程序的主线程因为IO读写或网络阻塞而导致被阻塞了,外部存储设备被独占了或系统负荷(load)过高(即不是自己编写的程序的问题,可能是系统或者其他第三方程序导致的问题),都有可能导致ANR窗口的出现。 从Android 2.3开始提供了一个新的类StrictMode,可以帮助开发者改进他们的Android应用,StrictMode可以用于捕捉发生在应用程序主线程中耗时的磁盘、网络访问或函数调用,可以帮助开发者使其改进程序,使主线程处理 阅读全文
posted @ 2012-12-23 14:41 xxzjjcbx 阅读(1368) 评论(0) 推荐(0) 编辑
摘要: 今天同事让我帮他得到手机的ip地址(手机已连上wifi),在网上找了很多资料,发现很多人说的都是误人子弟,现在有了一个好的方法,如下: WifiManager wifi = (WifiManager) getSystemService(Context.WIFI_SERVICE);WifiInfo info = wifi.getConnectionInfo();int ipAddress = info.getIpAddress();String myip = intToIp(ipAddress);//对得到的整型ip地址进行处理private String intToIp(int i) {ret 阅读全文
posted @ 2012-12-22 16:52 xxzjjcbx 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 今天老大终于关照我,给了一个任务,其中涉及到IP地址验证,上网查了下资料:http://hi.baidu.com/s_angel_3/blog/item/c2cdcba3d69b429f46106409.html1.java验证IP地址:Pattern pattern = Pattern.compile("\\b((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0-5])\\.((?!\\d\\d\\d)\\d+|1\\d\\d|2[0-4]\\d|25[0- 阅读全文
posted @ 2012-12-13 14:36 xxzjjcbx 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 如何设置EditText,使得只能输入数字或者某些字母呢?一、设置EditText,只输入数字: 方法1:直接生成DigitsKeyListener对象就可以了。et_1.setKeyListener(new DigisKeyListener(false,true)); 方法2:在EditText中设置属性,android:numeric="integer"即只能输入整数,如下<EditTextandroid:singleLine="true"android:numeric="integer"/> 方法3:新建一个char 阅读全文
posted @ 2012-12-10 10:57 xxzjjcbx 阅读(3491) 评论(0) 推荐(0) 编辑
摘要: 第一层:物理层(PhysicalLayer),规定通信设备的机械的、电气的、功能的和过程的特性,用以建立、维护和拆除物理链路连接。具体地讲,机械特性规定了网络连接时所需接插件的规格尺寸、引脚数量和排列情况等;电气特性规定了在物理连接上传输bit流时线路上信号电平的大小、阻抗匹配、传输速率距离限制等;功能特性是指对各个信号先分配确切的信号含义,即定义了DTE和DCE之间各个线路的功能;规程特性定义了利用信号线进行bit流传输的一组操作规程,是指在物理连接的建立、维护、交换信息是,DTE和DCE双放在各电路上的动作系列。在这一层,数据的单位称为比特(bit)。属于物理层定义的典型规范代表包括:EI 阅读全文
posted @ 2012-10-19 11:16 xxzjjcbx 阅读(787) 评论(0) 推荐(0) 编辑
摘要: http://aichixihongshi.iteye.com/blog/1181834 阅读全文
posted @ 2012-10-08 14:18 xxzjjcbx 阅读(124) 评论(0) 推荐(0) 编辑
摘要: 第一、四大组件间数据传递方式:启动四大组件通过Intent对象来实现,Intent的功能包括启动四大组件以及相关信息+传递数据。其中传递数据Intent提供了putExtra和对应的getExtra方法来实现:putExtra和getExtra 其实是和Bundle put和get方法一一对应的,在Intent类中有一个Bundle的mExtras成员变量所有的putExtra和getExtra方式实际是调用mExtras对象的put和get方法进行存取。所以正常情况下 四大组件间传递数据直接通过putExtra和getExtra方法存取即可,无需再创建一个bundle对象。Intent pu 阅读全文
posted @ 2012-09-26 11:41 xxzjjcbx 阅读(468) 评论(0) 推荐(0) 编辑
摘要: android 中自定义的对象序列化的问题有两个选择一个是Parcelable,另外一个是Serializable。一 序列化原因:1.永久性保存对象,保存对象的字节序列到本地文件中;2.通过序列化对象在网络中传递对象;3.通过序列化在进程间传递对象。二 至于选取哪种可参考下面的原则:1.在使用内存的时候,Parcelable 类比Serializable性能高,所以推荐使用Parcelable类。2.Serializable在序列化的时候会产生大量的临时变量,从而引起频繁的GC。3.Parcelable不能使用在要将数据存储在磁盘上的情况,因为Parcelable不能很好的保证数据的持续性在 阅读全文
posted @ 2012-09-26 11:38 xxzjjcbx 阅读(176) 评论(0) 推荐(0) 编辑