搜档网
当前位置:搜档网 › 破解内存限制32位VistaWin 7 4GB以上内存补丁,最高支持128GB

破解内存限制32位VistaWin 7 4GB以上内存补丁,最高支持128GB

破解内存限制32位VistaWin 7 4GB以上内存补丁,最高支持128GB
破解内存限制32位VistaWin 7 4GB以上内存补丁,最高支持128GB

破解内存限制32位VistaWin 7 4GB 以上内存补丁,最高支持128GB

第一步:! {: |6 b- l2 E

打开ReadyFor4GB.exe,点击"检查"和"应用"

第二歩:

第二歩: 右键文件夹里面的AddBootMenu.cmd文件,以管理员身份运行

第三歩"

3、根据提示,输入"Y"这样我们在启动菜单里面添加了一个启动项:* I/ \* S0 f' p$ b Windows 7 x86 [ 128GB with ntkr128g.exe ]

在开机的时候选择Windows 7 x86 [ 128GB with ntkr128g.exe ]即可进入系统

, b. ^5 {- o) K8 @

第四步:

现在我们启动项有两个,开机的时候可以选择,如果看着麻烦则可以通过其他软件来修改,以魔方3为例。打开优化设置大师,选择系统设置→多系统设置 T U" o& @1 X# ^3 P9 G

重启完毕后的,,,:, U/

注意:: N5 x( f4 z" `! R3 Y

部分旧式驱动程序不支持超过4GB内存寻址,从而导致不能正常工作,甚至蓝屏死机。2 d- w; Z5 t% j( U" W) T: w

请设置系统错误报告生成内存转存文件*.dmp,分析dmp,找出是哪个驱动程序有问题,更新之,或禁用之。+ G1 ~/ f6 L: X' w; P" ]$ j" z

部分主板的附加功能也会不支持4GB而造成蓝屏。. a$ F; ?$ \- Q o" C! k* @

蓝屏与Windows、以及补丁没有直接关系。Windows Vista/7 自身完全支持超过4GB大内存。6 u% T, {* C( A, v; E7 G% X

同样的硬件在2003或2008上也会出现同样问题。

android避免内存泄露

1、数据库的cursor没有关闭 2、构造adapter没有使用缓存contentview 衍生的listview优化问题:减少创建View的对象,充分使用contentview,可以使用静态类来处理优化getView的过程 3、Bitmap对象不使用时采用recycle()释放内存 4、Activity中的对象生命周期大于Activity 调式方法:DDMS->HEAPSIZE->adtaobject->total size Android应用程序被限制在16MB的堆上运行,至少在T-Mobile G1上是这样。对于手机来说,这是很大的内存了;但对于一些开发人员来说,这算是较小的了。即使你不打算使用掉所有的内存,但是,你也应该尽可能少地使用内存,来确保其它应用程序得以运行。Android在内存中保留更多的应用程序,对于用户来说,程序间切换就能更快。作为我(英文作者)工作的一部分,我调查了Android应用程序的内存泄露问题,并发现这些内存泄露大多数都是由于相同的错误导致的,即:对Context拥有较长时间的引用。 在Android上,Context常用于许多操作,更多的时候是加载和访问资源。这就是为什么所有的Widget在它们的构造函数里接受一个Context的参数。在一个正常的Android应用程序里,你会看到两种Context类型,Activity和Application。而一般在需要一个Context的类和方法里,往往传入的是第一种: Java代码 @Override protected void onCreate(Bundle state) { super.onCreate(state); TextView label = new TextView(this); label.setText("Leaks are bad");

Android 应用程序内存泄漏的分析

Android 应用程序内存泄漏的分析以前在学校里学习Java的时候,总是看到说,java是由垃圾收集器(GC)来管理内存回收的,所以当时形成的观念是Java不会产生内存泄漏,我们可以只管去申请内存,不需要关注内存回收,GC会帮我们完成。呵呵,很幼稚的想法,GC没那么聪明啊,理论及事实证明,我们的Java程序也是会有内存泄漏的。 (一)Java内存泄漏从何而来 一般来说内存泄漏有两种情况。一种情况如在C/C++语言中的,在堆中的分配的内存,没有将其释放,或者是在没有将其释放掉的时候,就将所有能访问这块内存的方式都删掉(如指针重新赋值);另一种情况则是在内存对象明明已经不需要的时候,还仍然保留着这块内存和它的访问方式(引用)。第一种情况,在Java中已经由于垃圾回收机制的引入,得到了很好的解决。所以,Java中的内存泄漏,主要指的是第二种情况。 (二)需要的工具 1.DDMS—Update heap Gause GC Heap 是DDMS自带的一个很不错的内存监控工具,下图红色框中最左边的图标就是该 工具的启动按钮,它能在Heap视图中显示选中进程的当前内存使用的详细情况。下图 框中最右边的是GC工具,很多时候我们使用Heap监控内存的时候要借助GC工具,点 击一次GC按钮就相当于向VM请求了一次GC操作。中间的按钮是Dump HPROF file,它 的功能相当于给内存拍一张照,然后将这些内存信息保存到hprof文件里面,在使用我 们的第二个工具MAT的时候会使用到这个功能。 2.MAT(Memory Analyzer Tool) Heap工具能给我们一个感性的认识,告诉我们程序当前的内存使用情况和是否存在内存 泄漏的肯能性。但是,如果我们想更详细,更深入的了解内存消耗的情况,找到问题所 在,那么我们还需要一个工具,就是MAT。这个工具是需要我们自己去下载的,可以下 载独立的MAT RCP 客户端,也可以以插件的形式安装到Eclipse里面,方便起见,推荐 后者。 安装方法: A.登录官网https://www.sodocs.net/doc/8c15889844.html,/mat/downloads.php B.下载MAT Eclipse插件安装包(红框所示,当然你也可是选择Update Site在线安装,个人觉得比较慢)

32位系统与4G内存限制的瓜葛

32位系统与4G内存限制的关系-32位系统真的只能用4G内存吗 32位系统与4G内存限制的关系-32位系统真的只能用4G内存吗? 为了这个32位系统与4G内存限制关系的问题,我们按顺序看看如下的分析。1、硬件。从硬件上讲,内存访问寻址,主要在CPU,CPU主要在寄存器(GPR)。32位的系统,指的是32位的CPU,也就是指32位的寄存器。 32位寄存器的寻址能力是2的32次方,这个是没错的,就是4GB。 但是10年前,32位的x86 奔腾pro处理器推出的时候,它的地址总线是多少位寻址?36位。整整多了2的4次方。也就是16倍。所以,这个32位的奔腾pro 处理器,可以寻址64GB。4GB的16倍,也就是64GB。 这个叫做PAE, 物理地址扩展。也叫PAE-36bit。 通过这个技术手段,32位系统进行了扩展,CPU(寄存器)对内存的寻址,可以到64GB。 2、既然32位系统的硬件可以寻址64GB。那么32位的操作系统当然应该有办法。32位操作系统肯定也有办法,沿着PAE的路,使用64GB内存。————————————— 标准的32 位地址最多可映射 4 GB 内存。因此,32 位进程的标准地址空间限制为4 GB。默认情况下,在32 位Microsoft Windows 操作系统中,将为操作系统保留2 GB 空间,另外 2 GB 空间可由应用程序使用。如果在Windows 2000 Advanced Server 的Boot.ini 文件中指定了/3gb参数,则操作系统将仅保留1 GB 的地址空间,应用程序最多可以访问3 GB 的空间。——————————————————————————– AWE 是Windows 的内存管理功能的一组扩展,它使应用程序(基于用户模式)能够使用的内存量超过通过标准32 位寻址可使用的2-3 GB 内存。AWE 允许应用程序获取物理内存,然后将非分页内存的视图动态映射到32 位地址空间。虽然32 位地址空间限制为4 GB,但是非分页内存却可以远远大于4 GB。这使需要大量内存的应用程序(如大型数据库系统)能使用的内存量远远大于32 位地址空间所支持的内存量。

Android开发规范参考文档

Android开发参考文档 一、Android编码规范 1. java代码中不出现中文,最多注释中可以出现中文.xml代码中注释 2. 成员变量,局部变量、静态成员变量命名、常量(宏)命名 1). 成员变量: activity中的成员变量以m开头,后面的单词首字母大写(如Button mBackButton; String mName);实体类和自定义View的成员变量可以不以m开头(如ImageView imageView,String name), 2). 局部变量命名:只能包含字母,组合变量单词首字母出第一个外,都为大写,其他字母都为小写 3). 常量(宏)命名: 只能包含字母和_,字母全部大写,单词之间用_隔开UMENG_APP_KEY 3. Application命名 项目名称+App,如SlimApp,里面可以存放全局变量,但是杜绝存放过大的实体对象4. activity和其中的view变量命名 activity命名模式为:逻辑名称+Activity view命名模式为:逻辑名称+View 建议:如果layout文件很复杂,建议将layout分成多个模块,每个模块定义一个moduleViewHolder,其成员变量包含所属view 5. layout及其id命名规则 layout命名模式:activity_逻辑名称,或者把对应的activity的名字用“_”把单词分开。

命名模式为:view缩写_模块名称_view的逻辑名称, 用单词首字母进行缩写 view的缩写详情如下 LayoutView:lv RelativeView:rv TextView:tv ImageView:iv ImageButton:ib Button:btn 6. strings.xml中的 1). id命名模式: activity名称_功能模块名称_逻辑名称/activity名称_逻辑名称/common_逻辑名称,strings.xml中,使用activity名称注释,将文件内容区分开来 2). strings.xml中使用%1$s实现字符串的通配,合起来写 7. drawable中的图片命名 命名模式:activity名称_逻辑名称/common_逻辑名称/ic_逻辑名称 (逻辑名称: 这是一个什么样的图片,展示功能是什么) 8. styles.xml 将layout中不断重现的style提炼出通用的style通用组件,放到styles.xml中; 9. 使用layer-list和selector,主要是View onCclick onTouch等事件界面反映

把Win7系统装到内存里打造超高速的

把Win7系统装到内存里打造超高速的RAMOS 2010-11-07 22:37:02| 分类: computer | 标签:ramos 系统内存虚拟磁盘文件 |字号大中小订阅 . 把Win7系统装到内存里打造超高速的RAMOS RamOS是什么? 现在电脑的内存越来越大,2GB已经成为标配,配置4GB内存的用户也有不少。利用剩余内存制作虚拟磁盘加快系统操作,相信大家已经看过不少类似的文章。可是你想过要把一个完整的系统放在内存里运行吗?这种系统叫做内存操作系统(RAMOS)。它不仅运行更快,而且操作更安全,维护也更方便! 下面,跟着小编一起,来动手实战吧! 什么是RAMOS 顾名思义就是内存操作系统,它的原理是利用特殊的软件把部分内存虚拟为硬盘,然后将制作好的操作系统镜像释放到这个虚拟磁盘中运行。其实Windows 7预装环境的PE2.0就是这样的一个系统。 RAMOS有什么好处 1、内存配置较高的笔记本电脑 由于内存读写速度比普通硬盘快,因此RAMOS的运行速度也就更快,而且成功加载到内存后,可以脱离本机硬盘运行。因此对于此类用户,使用RAMOS不仅可以提高运行速度,而且还可以大大提高电池续航能力(硬盘耗电量远比内存大)。 2、对系统安全性要求较高的用户 现在网络安全形势严峻,即使安装杀毒软件也可能会中毒。由于RAMOS在内存中运行,而内存在电脑重启或断电后不会保存任何数据,因此即使RAMOS中毒了,重启后也可以自动复原,所以可以说,RAMOS是永不中毒的“金刚系统”! 3、多系统用户 常规的情况下如果要安装多系统,我们不但要为新系统规划安装分区,还要维护它,而多系统的维护也是一个让人头痛的问题。不过RAMOS就是一个镜像文件,可以放在本机的任意位置,因此非常便于维护和管理。比如可以在预装Windows 7电脑上安装RAM Windows XP(以下简称RAM XP)组成双系统(当然也可以制作RAM Win7)。只要你愿意,安装再多的系统也没关系,而且只要删除镜像文件就可以完成卸载。 准备工作 既然RAMOS有这多的好处,那就马上开始制作吧。下面以打造RAMXP为例介绍具体操作步骤。 1、确认你的系统内存在1GB以上,因为至少要使用500MB左右的内存来存放系统文件。 2、你可以根据内存情况,选择正常系统或精简版系统进行安装。 3、由于这个系统要安装在本机第一分区,因此操作之前要使用Ghost等软件将当前系统备份到其他分区。 4、安装好的系统文件要在WinPE下全部复制到虚拟磁盘,因此还要准备好一个WinPE启动盘(推荐使用老毛桃WinPE,可以将其安装到本地硬盘备用)。 5、其他所需软件,大家可以自己在网上找下下载,没有偏门的。 RAMOS制作实战 第一步:将原有系统进行备份之后,启动XP的安装程序选择全新安装,并按照提示将系统安装到C盘并将驱动、常用软件全部安装好。安装完毕后对系统进行适当精简,如将垃圾文件删除,将虚拟内存转移到其他分区等。最终系统占用空间最好控制在1GB以下。 提示:为了精简系统,可以选择只安装系统和必需的软件,因为其他软件可以在需要时安装,只是不会保存在系统中。 第二步:将下载的Firadisk软件(/FiraDisk/)解压缩,并运行“firadisk”目录下的安装

Android开发内存泄漏及检查工具使用培训资料

Android 开发内存泄漏及检查工具使用培 训资料

目录 1内存泄露 (3) 1.1 内存泄露的概念 (3) 1.2 开发人员注意事项 (4) 1.3 Android(java)中常见的引起内存泄露的代码示例 (4) 1.3.1查询数据库没有关闭游标 (6) 1.3.2 构造Adapter时,没有使用缓存的convertView (6) 1.3.3 Bitmap对象不在使用时调用recycle()释放内存 (7) 1.3.4 释放对象的引用 (8) 1.3.5 其他 (9) 2内存泄露的分析工具 (9) 2.1 内存监测工具DDMS --> Heap (9) 2.2 内存分析工具MAT (Memory Analyzer Tool) (10) 2.2.1 生成.hprof文件 (10) 2.2.2 使用MA T导入.hprof文件 (11) 2.2.3 使用MA T的视图工具分析内存 (12)

1内存泄露 Android 应用程序开发以Java语言为主,而Java编程中一个非常重要但却经常被忽视的问题就是内存使用的问题。Java的垃圾回收机制(Garbage Collection 以下简称GC)使得很多开发者并不关心内存使用的生命周期,只顾着申请内存,却不手动释放废弃的内存,而造成内存泄露,引起很多问题,甚至程序崩溃。Android的虚拟机Dalvik VM和java虚拟机JVM没有什么太大的区别,只是在字节码上稍做优化,所以Android应用开发中同样会出现内存泄露的问题。而且由于Android智能平台主要用于嵌入式产品开发,可用的内存资源更加稀少,所以对于我们Android应用开发人员来说,就更该了解Android程序的内存管理机制,避免内存泄露的发生。 1.1 内存泄露的概念 在计算机科学中,内存泄漏(memory leak)指由于疏忽或错误造成程序未能释放已经不再使用的内存的情况。内存泄漏并非指内存在物理上的消失,而是应用程序分配某段内存后,由于设计错误,失去了对该段内存的控制,因而造成了内存的浪费。内存泄漏与许多其他问题有着相似的症状,并且通常情况下只能由那些可以获得程序源代码的程序员才可以分析出来。然而,有不少人习惯于把任何不需要的内存使用的增加描述为内存泄漏,严格意义上来说这是不准确的。 一般我们常说的内存泄漏是指堆内存的泄漏。堆内存是指程序从堆中分配的,大小任意的(内存块的大小可以在程序运行期决定),使用完后必须显式释放的内存。应用程序一般使用malloc,calloc,realloc,new等函数从堆中分配到一块内存,使用完后,程序必须负责相应的调用free或delete释放该内存块,否则,这块内存就不能被再次使用,我们就说这块内存泄漏了。 这里我们只简单的理解,在java程序中,如果已经不再使用一个对象,但是仍然有引用指向它,GC就无法收回它,当然该对象占用的内存就无法再被使用,这就造成内存泄露。可能一个实例对象的内存泄露很小,并不会引起很大的问题。但是如果程序反复做此操作或者长期运行,造成内存不断泄露,终究会使程序无内存可用,只好被系统kill掉。在以下情况,内存泄漏导致较严重的后果: * 程序运行后置之不理,并且随着时间的流失消耗越来越多的内存(比如服务器上的后台任务,尤其是嵌入式系统中的后台任务,这些任务可能被运行后很多年内都置之不理); * 新的内存被频繁地分配,比如当显示电脑游戏或动画视频画面时; * 程序能够请求未被释放的内存(比如共享内存),甚至是在程序终止的时候; * 泄漏在操作系统内部发生; * 泄漏在系统关键驱动中发生; * 内存非常有限,比如在嵌入式系统或便携设备中; * 当运行于一个终止时内存并不自动释放的操作系统(比如AmigaOS)之上,而且一旦丢失只能通过重启来恢复。

WIN7下C盘大量文件占着内存哪些文件是可以删除

机子用久了之后,就会变得越来越卡,主要原因还是因为Win7系统下C盘存放着大量文件占着内存,其实C盘中很多文件是可以删除的,我们要如何知道呢?赶紧跟着小编来学学如何判定哪些文件是可以删除的吧。 方法如下: 第一、我们首先关闭Win7系统休眠功能,最多能释放出3G多空间喔 以管理员身份运行,所有程序;附件;命令提示符,右击选择以管理员身份运行,进入命令提示符后,手工输入powercfg -h off 关闭Win7系统休眠功能。 第二、关闭系统保护 计算机右键属性--高级管理设置--系统保护。 第三、转移虚拟内存 计算机右键属性--高级管理设置--高级--性能-设置-高级-更改。 第四、转移用户的文件 桌面双击 Administrator(用户文件夹)文件夹,在这里推荐转移4个系统文件夹桌面,收藏夹,我的桌面,我的文档,右键要转移的项目属性--位置 X:UsersAdministrator 即可。 第五、删文件不删功能、简化优化系统不简优化性能 1.C:WindowsWebWall*** (Windows自带墙纸)推荐转移 2.C:WindowsSystem32DriverStoreFileRepository 下 搜索输入 ati*.inf (14.6M) nv*.inf(94.9M) (A卡用户删N、N卡用户删A) 搜索输入 mdm*.inf (21.6M) 现在早已没人用的东西删 搜索输入 prn*.inf (781M) prn 开头的全部都是打印机驱动,相信大多数人都是用不上的。就是有打印机,买的时候也会带有驱动,删除它。 注意:prnms001.inf/prnoc001.inf/prnms002.inf 这三个并不是打印机驱动,建议保留。 3.C:Boot (13.3M) 这个里面是不同语言的Windows启动界面,除zh-CN外均可删除。

android如何查看cpu的占用率和内存泄漏

android如何查看cpu的占用率和内存泄漏 在分析内存优化的过程中,其中一个最重要的是我们如何查看cpu的占用率和内存的占用率呢,这在一定程度上很重要,经过查询资料,研究了一下,暂时了解到大概有以下几种方式,如果哪位高手有更好的办法,或者文中描述有错误,还望高手在下面留言,非常感谢! 一、通过eclipse,ADT开发工具的DDMS来查看(Heap) 在“Devices”窗口中选择模拟器中的一个需要查看的程序,从工具条中选“Update heap”按钮,给这个程序设置上“heap Updates”,然后在Heap视图中点击Cause GC就可以实时显示这个程序的一些内存和cpu的使用情况了。

然后就会出现如下界面: 说明: a) 点击“Cause GC”按钮相当于向虚拟机请求了一次gc操作; b) 当内存使用信息第一次显示以后,无须再不断的点击“Cause GC”,Heap视图界面会定

时刷新,在对应用的不断的操作过程中就可以看到内存使用的变化; c) 内存使用信息的各项参数根据名称即可知道其意思,在此不再赘述。 大致解析如下: 这个就是当前应用的内存占用,allocated 是已经分配的内存free是空闲内存, heap size 是虚拟机分配的不是固定值 heap size 的最大值跟手机相关的 有网友说, 一般看1byte的大部分就是图片占用的 如何判断应用是否有内存泄漏的可能性呢? 如何才能知道我们的程序是否有内存泄漏的可能性呢。这里需要注意一个值:Heap视图中部有一个Type叫做data object,即数据对象,也就是我们的程序中大量存在的类类型的对象。在data object一行中有一列是“Total Size”,其值就是当前进程中所有Java数据对象的内存总量,一般情况下,这个值的大小决定了是否会有内存泄漏。可以这样判断: a) 不断的操作当前应用,同时注意观察data object的Total Size值; b) 正常情况下Total Size值都会稳定在一个有限的范围内,也就是说由于程序中的的代码良好,没有造成对象不被垃圾回收的情况,所以说虽然我们不断的操作会不断的生成很多对象,而在虚拟机不断的进行GC的过程中,这些对象都被回收了,内存占用量会会落到一个稳定的水平; c) 反之如果代码中存在没有释放对象引用的情况,则data object的Total Size值在每次GC 后不会有明显的回落,随着操作次数的增多Total Size的值会越来越大, 直到到达一个上限后导致进程被kill掉。

让WINXPVistaWin7等32位x86系统完美支持4G以上内存

【XP系统】 4G内存已经成为很多中高档笔记本电脑的标准配置。前两篇文章介绍了WIN7系统4G内存的破解过程和4G内存的完美利用。但是,很多朋友还是习惯用32位XP系统。那么能不能让32位XP系统也能完美支持4G内存呢,当然也是可以的。今天,我们就来介绍如何在32位XP系统完美破解4G内存限制。 第一步、开启PAE 要破解32位XP系统4G内存限制,先要开启PAE (Physical Address Extension物理地址扩展)。打开Everest,看看主板的内存选项中,最后一项Physical Address Extension(PAE)下的“操作系统支持”“处理器支持”是否为“是。如果为“是”,恭喜您,您能够开启PAE。

要开启PAE并不难,只要简单编辑引导文件即可。在C盘中,点击工具-文件夹选项,在文件夹选项窗口中的查看选项,去掉“隐藏受保护的操作系统文件”前面的勾选,选择“显示所有文件和文件夹”。点击确定后,就会显示全部隐藏文件。

右键点击红圈中的boot文件,点击属性,去掉“只读”前面的勾选,点击确定退出,就可以对其进行编辑了。

用记事本打开这个boot文件,在其中的 “multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Windows XP Professional" /noexecute=optin /fastdetect”一行中间加入PAE,成为: “multi(0)disk(0)rdisk(0)partition(1)WINDOWS="Microsoft Win dows XP Professional" /PAE /noexecute=optin /fastdetect”。注意PAE后要有一个空格。 这里partition(1)表示您的XP系统安装在第一个分区即C盘,我是安装在第六个分区,所以是partition(6) 。

android内存管理-MAT与防范手段

内存管理与防范手段 目录 内存管理与防范手段 (1) 一.内存分配跟踪工具DDMS–>Allocation tracker 使用 (2) 二.内存监测工具DDMS-->Heap (2) 三.内存分析工具MAT(MemoryAnalyzerTool) (3) 1.生成.hprof文件 (4) 2.使用MAT导入.hprof文件 (5) 3.使用MAT的视图工具分析内存 (5) 四.MAT使用实例 (5) 1.生成heap dump (7) 2.用MAT分析heap dumps (9) 3.使用MAT比较heap dumps (11) 五.防范不良代码 (11) 1.查询数据库没有关闭游标 (11) 2.缓存convertView (12) 3.Bitmap对象释放内存 (13) 4.释放对象的引用 (13) 5.Context的使用 (14) 6.线程 (17) 7.其他 (20) 六.优化代码 (20) 1.使用自身方法(Use Native Methods) (20) 2.使用虚拟优于使用接口 (20) 3.使用静态优于使用虚拟 (20) 4.尽可能避免使用内在的Get、Set方法 (20) 5.缓冲属性调用Cache Field Lookups (21) 6.声明Final常量 (21) 7.慎重使用增强型For循环语句 (22) 8.避免列举类型Avoid Enums (23) 9.通过内联类使用包空间 (23) 10.避免浮点类型的使用 (24) 11.一些标准操作的时间比较 (24) 12.为响应灵敏性设计 (25)

一.内存分配跟踪工具DDMS–>Allocation tracker 使用 运行DDMS,只需简单的选择应用进程并单击Allocation tracker标签,就会打开一个新的窗口,单击“Start Tracing”按钮;然后,让应用运行你想分析的代码。运行完毕后,单击“Get Allocations”按钮,一个已分配对象的列表就会出现第一个表格中。单击第一个表格中的任何一项,在表格二中就会出现导致该内存分配的栈跟踪信息。通过allocation tracker,不仅知道分配了哪类对象,还可以知道在哪个线程、哪个类、哪个文件的哪一行。 尽管在性能关键的代码路径上移除所有的内存分配操作不是必须的,甚至有时候是不可能的,但allocation tracker可以帮你识别代码中的一些重要问题。举例来说,许多应用中发现的一个普遍错误:每次进行绘制都创建一个新的Paint对象。将Paint的创建移到一个实例区域里,是一个能极大提高程序性能的简单举措。 二.内存监测工具DDMS-->Heap 无论怎么小心,想完全避免badcode是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方。Androidtools中的DDMS就带有一个很不错的内存监测工具Heap(这里我使eclipse的ADT插件,并以真机为例,在模拟器中的情况类似)。用Heap 监测应用进程使用内存情况的步骤如下: 1.启动eclipse后,切换到DDMS透视图,并确认Devices视图、Heap视图都是打开的; 2.将手机通过USB链接至电脑,链接时需要确认手机是处于“USB调试”模式,而不是作为“MassStorage”; 3.链接成功后,在DDMS的Devices视图中将会显示手机设备的序列号,以及设备中正在运行的部分进程信息; 4.点击选中想要监测的进程,比如system_process进程; 5.点击选中Devices视图界面中最上方一排图标中的“UpdateHeap”图标; 6.点击Heap视图中的“CauseGC”按钮; 7.此时在Heap视图中就会看到当前选中的进程的内存使用量的详细情况 a)点击“CauseGC”按钮相当于向虚拟机请求了一次gc操作;

RamDisk使用32位win78G以上内存图文教程

32bit win7用上8G以上内存,附教程 本文整理自网络8G内存,32bit win7,用RamDisk,实现3.25G物理内存+4.67G虚拟硬盘(留点给寻址) 3.25G的物理内存都给系统,很少说不够用,剩下的都做虚拟硬盘,虚拟硬盘干嘛设这么大,下面有说明。

把日常的软件拉进去,QQ,浏览器,迅雷看看,快播等,设置ramdisk后,电脑重启后不会留任何痕迹,特别是浏览器,还设置了临时文件夹在虚拟硬盘,不会残留文件在硬盘上,减少硬盘的读写,和QQ打开的速度也相比在硬盘上快多了,迅雷看看和快播也一样,一般网络电影都是边看边下载的,现在看电影很少说要保留下来,而且珍藏也只是720P或1080P,把他们临时文件设到虚拟硬盘,电脑重启后文件就会自动消失,既不会下载在硬盘上也不需要你手工去删除,上面的电影是我拉进去筹够4.67G证明这虚拟硬盘是能用的,平时,我喜欢压制电影,制作VCD光碟,临时的文件我又可以放在虚拟硬盘上,一般刻完我就会不要这些临时文件的。还有平时迅雷下载,网页下载的东西也可以暂时放在虚拟硬盘,一般的软件,歌,试用之后觉得不好,大不了不用理,重启后又不见了,不用像以前那样找回下载文件夹删除。如果你的虚拟硬盘不够大,而你又设置了系统临时文件在虚拟硬盘,有时解压或者装软件时系统就会出现出错,如果足够大了,一般就可以放心,至于网友担心的系统不稳定,我用了半年没问题,游戏也一样。尝试跑OR 1个小时正常。

当然,既然是有硬盘功效,那虚拟内存设置在虚拟硬盘上也是可以的,挺讽刺的,微软搞了个虚拟内存占用硬盘,虽然经常读写谈不上伤硬盘,我个人总觉得很不爽,专业术语解释不写,直观来讲,好好的物理内存不用,搞我硬盘!我偏要你用回物理内存。 如果你有时既压制影片,同时上网,听歌,QQ,下载,那虚拟硬盘的4.67有时是刚足够你满足,当然,这只是根据我个人需求,有人设个512M也是够用的。 这虚拟硬盘的测试成绩还很惊人,理论成绩,软件运行还跟不上,还有很多很多的日常运用,这里就不多提了,其实个人觉得暂时最好设置就是SSD+虚拟内存,这样就能达到“纳秒”开了,哈哈,开玩笑的,有时还得看软件本身运行,目前双系统在运行,32位xp也是可以实现的,也许64位是今后潮流,把握现在的32位才是最重要的,毕竟还有很多好用的、经典的日常软件我暂时都未发现有64位,我喜欢的云端(很好用的软件,有空发帖介绍)就是一个例子。 最近比较忙,趁有时间上几张测试图

Windows7 优化大师详细使用教程

Windows7 优化大师详细使用教程 对于持续关注Windows7的用户来说,现如今早已通过各种渠道在自己的爱机上装上了win7了吧,虽说win7很新潮,各方面的性能及特色功能都使我们很好奇的去摸索。虽说win7在系统要求方面相对于之前的Vista来说较低,不过对于我们这些普通的电脑配置用户来说,如果不进行相关的优化的话,用起来还是有点卡卡的,所以优化win7成了当务之急。 笔者在网上寻找win7优化方面的资料时发现,与其通过各种命令、操作来手动优化,倒不如使用一些整合的优化工具来的更加方便、快捷,而其中“Windows7优化大师”就是一款不错的优化工具。 一、软件资料 二、软件使用 软件安装

图1 图2

图3 软件界面

图4、软件界面 功能&特点 第一次打开使用时,软件会提示用户是否建立系统的还原点,所谓的还原点即是在优化的过程中如若有不满意的地方,直接可以还原到之前的一些属性设置,这里笔者建议大家还是建立一个还原点比较好,以防不时之需 图5、软件的系统还原

设置完毕都,软件会自动跳转至主页面,此时用户可根据提示进行自动优化,或者自己进行手动的优化,对于不熟悉win7的用户来说,自动优化比较省事,没有太多复杂的操作,直接点击“下一步”完成即可 图6、自动优化向导 下面笔者给大家重点解析下Windows7优化大师的几大重点优化功能 1、系统优化 在页面上单击“系统优化”菜单,在弹出的对话框中,左侧有关于系统优化的相关子项目,包括“内存及缓存、服务优化、开机/关机、网络”等等 在内存及缓存中,用户可根据实际的电脑配置对其进行调节,如若用户不是很清楚此项的功能意义,那么单击“自动设置”软件会自动帮你完成此操作的

安卓性能优化方案

随着技术的发展,智能手机硬件配置越来越高,可是它和现在的PC相比,其运算能力,续航能力,存储空间等都还是受到很大的限制,同时用户对手机的体验要求远远高于PC的桌面应用程序。以上理由,足以需要开发人员更加专心去实现和优化你的代码了。选择合适的算法和数据结构永远是开发人员最先应该考虑的事情。同时,我们应该时刻牢记,写出高效代码的两条基本的原则:(1)不要做不必要的事;(2)不要分配不必要的内存。 我从去年开始接触Android开发,以下结合自己的一点项目经验,同时参考了Google的优化文档和网上的诸多技术大牛给出的意见,整理出这份文档。 1. 内存优化 Android系统对每个软件所能使用的RAM空间进行了限制(如:Nexus o ne 对每个软件的内存限制是24M),同时Java语言本身比较消耗内存,d alvik虚拟机也要占用一定的内存空间,所以合理使用内存,彰显出一个程序员的素质和技能。 1) 了解JIT 即时编译(Just-in-time Compilation,JIT),又称动态转译(Dynamic Translation),是一种通过在运行时将字节码翻译为机器码,从而改善字节码编译语言性能的技术。即时编译前期的两个运行时理论是字节码编译和动态编译。Android原来Dalvik虚拟机是作为一种解释器实现,新版

(Android2.2+)将换成JIT编译器实现。性能测试显示,在多项测试中新版本比旧版本提升了大约6倍。 详细请参考https://www.sodocs.net/doc/8c15889844.html,/cool_parkour/blog/item/2802b01586e22cd8a6ef3f6b. html 2) 避免创建不必要的对象 就像世界上没有免费的午餐,世界上也没有免费的对象。虽然gc为每个线程都建立了临时对象池,可以使创建对象的代价变得小一些,但是分配内存永远都比不分配内存的代价大。如果你在用户界面循环中分配对象内存,就会引发周期性的垃圾回收,用户就会觉得界面像打嗝一样一顿一顿的。所以,除非必要,应尽量避免尽力对象的实例。下面的例子将帮助你理解这条原则: 当你从用户输入的数据中截取一段字符串时,尽量使用substring函数取得原始数据的一个子串,而不是为子串另外建立一份拷贝。这样你就有一个新的String对象,它与原始数据共享一个char数组。如果你有一个函数返回一个String对象,而你确切的知道这个字符串会被附加到一个Stri ngBuffer,那么,请改变这个函数的参数和实现方式,直接把结果附加到StringBuffer中,而不要再建立一个短命的临时对象。 一个更极端的例子是,把多维数组分成多个一维数组: int数组比Integer数组好,这也概括了一个基本事实,两个平行的int数组比(int,int)对象数组性能要好很多。同理,这试用于所有基本类型的组合。如果你想用一种容器存储(Foo,Bar)元组,尝试使用两个单独的Foo[]

WIN7 32位 内存破解

第1页:为什么32位Win7不能用4GB内存? 随着Windows 7操作系统的发布,越来越多的用户开始体验到该系统的优势。不过目前32位操作系统从XP时代就不支持4GB容量内存,也使得很多用户开始不敢购买4GB内存,以免浪费。其实Vista和Win7本身是可以支持4GB容量内存的,只是通过程序将其锁定,那么下面笔者就教您一个小窍门来避开这个锁,可以让Win7完美支持4GB内存。 虽然现在64位操作系统可以很好的支持大容量内存,但是我们不得不提到现在64位的软件还不是非常的多,而且Vista和Win7的64位版本在兼容性上还是有所不足。另一反面,由于现在内存价格的走低,4GB容量内存价格已经不是绊脚石,所以4GB容量内存也已经成为主流配置。但是令用户苦恼的是,32位Windows7和Vista不允许使用4GB内存。 4GB DDR3内存需要64位系统么? 其实不足4GB内存的原因就在32位X86架构。32位X86架构是指个人电脑的地址总线是32位的,CPU、内存控制器、操作系统都是按32位地址总线设计。32位地址总线可以支持的内存地址代码是4096MB。这4GB个地址码正好可以分配给4GB内存。但是其它寄存器都需要系统分配给它们地址代码,所以总容量为4GB的内存就有一部分内存分配不到地址代码而不能使用。

内存仅使用3.25GB 其实,Vista/Win7自身完全支持超过4GB大内存,只是微软不让使用而已。但其实在Win7上可以通过程序破解Windows PAE内核文件ntkrnlpa.exe,绕过Zw Query License Value API 函数的许可限制,让32位的VISTA/Win7支持超过4GB物理内存,下面笔者就教您如何破解4GB内存之谜。 第2页:Win7破解4GB内存轻松三步搞定 918 首先,我们需要下载一款名叫Readyfor 4GB的软件,用户可以在搜索工具上搜索,下载地址有很多。 Readyfor 4GB软件

win7怎么释放硬盘内存

win7怎么释放硬盘内存 随着Win7系统的问世,很多用户已经把系统换成了Win7,但很多朋友在使用时都发现了一个问题:电脑刚被买回来时,我们往往都把C盘预留50G左右的空间,而且东西都从不装到C盘,等过了一段时间,C盘磁盘空间居然变小了,只剩下10多个G。自己也没装什么东西啊,C盘没怎么用就占了40G呢,而且还在继续扩张,系统反应也越来越迟钝。接下来,小编就告诉大家清理C盘空间的方法。 清理硬盘空间的方法: 方法一:删除休眠文件hiberfil.sys 该文件在C盘根目录为隐藏的系统文件,隐藏的这个hiberfil.sys文件大小正好和自己的物理内存是一致的,当你让电脑进入休眠状态时,Windows7在关闭系统前将所有的内存内容写入hiberfil.sys文件。而后,当你重新打开电脑,操作系统使用hiberfil.sys把所有信息放回内存,电脑恢复到关闭前的状态。可Windows7并不会将这个文件删除,而是一直放在硬盘上,会白白地占用一部分磁盘空间,时间长了你的硬盘可就吃不消了。Windows7下面安全删除休眠文件的方法:用管理员身份运行cmd.exe打开命令行窗口,然后输入:powercfg -h off,回

车运行。 方法二:清除应用程序产生的临时文件这类文件一般保存在windowstemp文件夹中,和用户文件夹的temp文件夹中。(路径为:我的电脑-C盘-windowstemp文件夹)。 方法三:清除IE等浏览器产生的临时文件清理方法:打开浏览器,工具—INTERNET选项——浏览历史记录下面点击删除,删除cookie和IE临时文件即可,尤其实在备份系统前最好删除的干干净净。 方法四:清除系统还原,System Volume Information文件夹SystemVolume Information 文件夹,中文名称可以翻译为“系统卷标信息”。这个文件夹里就存储着系统还原的备份信息。“系

32位win7操作系统使用4G内存的处理

32位win7操作系统使用4G内存的处理 虽然现在64位操作系统可很好的支持大容量内存,但得提到64位的软件不是非常多,而且Vista和Win7的64位版本在兼容性上还有所不足。相反,由于现在内存价格走低,4GB 容量内存价格已不是绊脚石,已成主流配置。但32位Windows7和Vista不许使用4GB内存。 其实,Vista/Win7自身完全支持超过4GB大内存,微软不让使用。但Win7上可通过程序破解Windows PAE内核文件ntkrnlpa.exe,绕过Zw Query License Value API函数的许可限制,让32位的VISTA/Win7支持超过4GB物理内存。 具体操作如下: 1下载一款名叫Readyfor 4GB的软件,可在搜索工具上搜索下载地址。 2 下载解压后,先运行Readyfor 4GB,当程序打开后,依次点击检查和应用选项,此时程序会告诉你所用系统能够支持最大内存容量和当前内存容量。一下的图片是笔者已经破解后所示,最大允许4GB内存。 然后运行压缩包里面的AddBootMenu程序,当弹出对话框时,输入Y回车即可,此时系统提示破解操作成功完成。

依次选择我的电脑右键→属性→高级系统设置→启动和故障恢复→设置→选择那个破解的启动系统就可以,如下图。 5 最后重新启动计算机,在选择我的电脑属性后,内存被识别成4GB容量,如下图所示

6最后重新启动计算机,在选择我的电脑属性后,内存被识别成4GB容量,如下图所示

从测试中看出,虽然64位Windows7可完美支持4GB容量内存,但是成绩和32位Windows7并没有多大变化,可见没有良好64位软件的支持,根本无法发挥64位操作系统的性能。 全文总结:通过简单的三步可让最常用32位Win7支持到4GB内存,对拥有4GB以上内存用户是好消息。虽然64位操作系统的Windows 7可支持更大容量内存,但是仅在4GB 容量上并没领先破解后的32位Win7,所以想通过64位Win7支持4GB容量内存的用户暂 不必升级,毕竟现在兼容上64bit还存在一些兼容问题,所以感性用户可体验这种方法。

Win7等32位系统无法使用4G内存的原因及解决方法-理论篇

前几天给笔记本加到了4G内存,虽然自带的WIN7 32位系统能认出4G,但实际只能用到2.99G,如下图: 这不是浪费了足足1G内存?用GOOGLE搜了下,很多人说ReadyFor4GB这个软件可以破解Win7/Vista 无法支持4G内存的限制,但也有很多人持怀疑态度,粗略想下,同样的32位系统Win2008、Win2003 等系统不是能支持4G/4G以上的内存吗?WIN7、Vista、XP又凭什么不明不白的吃掉了我们差不多1G的内存呢?现在让我们一起来讨论这个问题,解开32 位系统无法支持4G之迷,测试ReadyFor4GB这个软件是否有效?以及其它的解决方法。 下面我们先看看微软对于这个问题的说法: http://support.mic ROS https://www.sodocs.net/doc/8c15889844.html,/kb/929605/zh-tw ------------------------------------ 发生原因: 這種行為是某些硬體和軟體因素的預期結果。 一般電腦中的多種裝置都需要進行記憶體對應存取。這就稱為記憶體對應 I/O (MMIO)。為了使 MMIO 空間可供 32 位元作業系統使用,MMIO 空間必須位於位址空間的最前面 4 GB 之內。 例如,如果您擁有具 256 MB 內建記憶體的視訊卡,該記憶體就必須對應至位址空間的最前面 4 GB 之內。如果已經安裝了 4 GB 的系統記憶體,該位址空間的一部分就必須保留給圖形記憶體對應。圖形記憶體對應會覆寫系統記憶體的一部分。這些情況會減少可供作業系統使用之系統記憶體的總量。 可用系統記憶體所減少的數量,會取決於電腦中所安裝的裝置。然而,為了避免發生驅動程式相容性的潛在問題,32 位元版本 Windows Vista 將可用的記憶體總量限制到 3.12 GB。如需有關驅動程式相容性潛在問題的資訊,請參閱<其他相關資訊>一節。 如果電腦具有許多已安裝的裝置,可用的記憶體數量就可能減少到 3 GB 或者更少。然而,32 位元版本 Windows Vista 的可用記憶體上限一般是 3.12 GB。

Android App内存泄露测试方法总结

Android App内存泄露测试方法总结 1、内存泄露 Android系统为每一个运行的程序都指定了一个最大运行内存,超过这个值则会触发OOM机制,反应在界面就是闪退、Crash现象,导致OOM发生的原因比如内存泄露或者是代码不考虑后果使用大量的资源,都有可能导致OOM出现的。OOM的临界值可以通过adb shell getprop | findstr “heap”查看到: 2、Android的GC机制 Android GC机制沿用了java的GC机制,当需要新内存去分配对象的时候而剩余不够的时候,会触发GC,把无用的对象回收掉,其中一个重要的算法便是分代式算法,这个算法把虚拟机分为年轻代、老年代和持久代,对象先分配到年轻代,然后GC多次后还存活的将会移动到老年代,老年代就不会频繁触发GC机制,一般触发频繁的都是年轻代的对象。 3、为什么会内存泄露 上面我们知道了GC机制,那么如果GC过后程序还是没有内存,那么会发生OOM,导致GC后还是没有足够内存分配新对象的主要原因就是内存泄露了。首先要知道内存泄露也就是GC不掉的根源是生命周期长的对象持有生命周期短的对象,导致无用的对象一直无法回收。以下是几个典型的分类: 1)**静态类相关的泄露:**static对象的生命周期伴随着整个程序的生命周期,所以这块要注意不要把一些对象引用添加到static对象里面去,会造成与之关联的对象无法回收。

2)各种资源的释放:包括cursor的关闭,IO流的关闭,bitmap的回收等,进行一些带有缓存的资源一定要关闭或者释放。 3)Handler的泄露:调用handler的delay的时候,会被认为对象是有用的,导致无法回收,还有handler开启线程去下载东西没有下载完成的时候,也会因为线程导致无法回收activity;或者使用handlerThread的时候,有延迟的方法,都会导致无法回收。其主要原因在于handler是持有activity的引用,主线程不是自带一个Looper然后给handler用,导致有关联关系。 4)各种注册引用方法:比如一个常驻的后台线程处理某些时间,把当前对象注册,因为一直持有对象引用,导致这个activity一直保留,所以不用的时候需要反注册。 5)把对象缓存进容器内却忘记remove掉:有时候为了加快页面响应,结果缓存一些对象到容器内,结果越加越多,然后挂掉。 4、系统级别的内存管理 1)LMK机制和oom_adj的值 Android内核有个专用的驱动low-memory-kill,当系统级别的内存不够的时候会根据oom_adj的值以及内存分配状况去kill掉某个进程,oom_adj可以在 /proc/[pid]/oom_adj看到,并且这个值会随着进程的状态改变而改变,比如系统进程一般是-16,越大越容易被干掉。 2)5个进程的优先级 前台进程:当前运行的,基本不死; 可见进程:界面可以见到,比如被遮挡; 服务进程:进程带后台服务的,比如播放器; 后台进程:点击home键,但不退出,就是后台进程了,有比较大几率会被杀;

相关主题