Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

如何避免Android内存泄漏

如何避免Android内存泄漏

至少在T-Mobile G1上Android应用在堆上分配的内存大小被限制16MB以内。对于手机来说,这是个不小的内存,但是这仍然远远不能满足一些开发者的需求。但是,即使你不打算使用所有的内存空间,你也应该尽可能地少用内存,从而使得其他应用能够运行而不是被杀掉。因为Android能够在内存中保持的应用越多,那么用户切换应用的速度就会越快。作为我工作的一部分,我在做android应用开发的时候也会陷入内存泄漏的问题中,大多数时候内存的泄漏都是由于犯了相同的错...
Android内存泄漏就这样产生了

Android内存泄漏就这样产生了

1.资源对象没关闭造成的内存泄漏描述:资源性对象比如(Cursor,File文件等)往往都用了一些缓冲,我们在不使用的时候,应该及时关闭它们,以便它们的缓冲及时回收内存。它们的缓冲不仅存在于java虚拟机内,还存在于java虚拟机外。如果我们仅仅是把它的引用设置为null,而不关闭它们,往往会造成内存泄漏。因为有些资源性对象,比如SQLiteCursor(在析构函数finalize(),如果我们没有关闭它,它自己会调close()关闭),如果我们没有关闭它...
第一个Struts2应用开发

第一个Struts2应用开发

对于Struts2,以前曾经接触过,使用过,但是还是按照Struts1的方法使用,结果好好的一个Struts2的无侵入式设计让我搞的成了不伦不类,现在重新开始学习Struts2,希望用的更加规范一些,首先是第一个Struts2的第一个例子。首先需要搭建开发环境,当然了,struts2可以从Apache的网站下载,这个不用多说。需要说一下在lib目录下面那些众多的jar包需要其中必须的jar包有六个。开发Struts需要最少的jarstruts2-core-...
C# @符号的多种使用方法

C# @符号的多种使用方法

1.限定字符串用 @ 符号加在字符串前面表示其中的转义字符“不”被处理。 如果我们写一个文件的路径,例如"D:/文本文件"路径下的text.txt文件,不加@符号的话写法如下: stringfileName="D://文本文件//text.txt"; 如果使用@符号就会比较简单: stringfileName=@"D:/文本文件/text.txt"; 2.让字符串跨行有时候一个字符串写在一行中会很长(比如SQL语句),不使用@符号,一种写法是这样的:[cs...
Python中的定义类属性和对像属性

Python中的定义类属性和对像属性

Python中变量是没有类型的可以绑定任意类型,但是在语法上不能声明变量。那我们怎麽来声名一个变量呢?[python] f=None这样我们给着个变量绑定了以各None类型,我们随时可用重新绑定其它类型。这样我们起到了预先声名变量的效果。 类中如何去定义类的属性和对像属性呢?如果对OO有所了解的话,就应该知道类属性属于类整体而对像属性属于具体的对像实例(查看gtk对像系统的实现会进一步理解的)。[python] classMyClass:cName=Non...
C++设计中的几种机制

C++设计中的几种机制

1、PIMPL私有化实现。解决头文件依赖,文件修改后整个系统需要重新编译的问题。他实现的是一个简单的桥接模式。在类中指针初始化的空间是固定的,不需要知道其具体的类型,所有采用前置声明的方式,可以不需要在头文件中引用他的头文件。这样即隐藏了引用类的实现细节,又减少了编译时文件修改后的编译关联性。2、NVI提供一个公有的非虚接口函数,将虚函数私有化。实现行为和接口的分离。因为虚函数的多态性,公有非虚函数自然会去调用相应的虚函数实现。通过对虚函数的包装达到对接口...
C/C++网络编程中的TCP保活

C/C++网络编程中的TCP保活

在默认的情况下,TCP连接是没有保活的心跳的。这就是说,当一个TCP的socket,客户端与服务端谁也不发送数据,会一直保持着连接。这其中如果有一方异常掉线,另一端永远也不可能知道。这对于一些服务型的程序来说,将是灾难性的后果。 所以,必须对创建的socket,启用保活心跳,即Keepalive选项。启用Keepalive 对于WIN32或者Linux平台来说,设置socket的Keepalive都很简单,只需使用setsockopt设置SO_KEEP...
再次在 cygwin 下编译 Android toolchain

再次在 cygwin 下编译 Android toolchain

重装系统后把 cygwin 也重新在线安装了一下,但发现 -mno-cygwin 尽然不能用了,找不到 crt2.o ,这些文件明明是存在的,搜索了一下官方的问答,说是安装顺序的问题,把mingw的几个包重新装一遍即可,试验了几次也没效果,无奈,只能自己找原因,看看 /lib/gcc/i686-pc-mingw32/3.4.4/specs 文件,很多路径指向了 /usr/i686-pc-mingw32/sys-root ,再看看 /usr/i686-pc-...
自己编译Android gdbserver(解决运行 gdbserver时 Segmentation fault 问题)

自己编译Android gdbserver(解决运行 gdbserver时 Segmentation fault 问题)

一、引言使用Android 预装 gdbserver 调试 动态库时出现,Segmentation fault错误。不得不使用现有编译链重新编译一份gdbserver。我的解决过程如下。这里要强调一点:下面编译sysroot时sysroot的目标路径,和编译gdbserver时指定的sysroot路径,一定要是用[绝对路径]。我编译过程中,曾因未使用绝对路径浪费不少精力。二、开发环境Ubuntu 11.04编译通过的Android 2.3 源码三、解决过程...
Android中style和theme巧用:Android应用程序启动时背景画面的切换

Android中style和theme巧用:Android应用程序启动时背景画面的切换

最近,一直在研究FM收音机源码,通过一星期的学习,基本上弄懂了源码的调用关系以及布局文件的显示,整体上给我的感觉是它的布局方式以及各个类之间的调用相当细致,只你能慢慢的消化了。苦恼的是还有很多底层的知识没有涉及到,目前也只是一步步的研究,希望能早日研究透彻。学习的时候,发现了FM收音机的启动运行背景画面的切换,感觉很有意思,于是一步步的观察,终于给摸透了。在此总结一下:背景的特效切换技术采用的Activity的Theme属性 ; 然后,在启动成功后调用自定...
<< 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 >>