内存优化

看了一个沙龙----内存和渲染优化

总结如下:

  1.终于知道为什么有序列化成流文件了。。。因为流文件的大小比C++和PYTHON里面一个对象的占用要少。

   so,对于这种大型的文件对象,存成流文件会存成对象占用少,

   表的话,传统一般直接IMPORT成python对象,现在直接在C++用map结构保存,key和value序列化成流,这样就把表构造成一个流文件了。需要的时候python再反序列成python对象,这样内存会减少1/8的占用。

  2.声音这种FSB资源(FMOD)不存在包内,直接散在硬盘外面(其实我还没理解是什么意思= =),需要的时候异步I/O从硬盘流读取。

  3.界面UI:

    用得多的界面:预加载

    用得少的界面:临时创建临时销毁

    动画:尽量用矢量动画不要用帧动画

    (还知道了一个鬼畜的东西,原来非位图,像JPG啊OBJ啊,在显卡里面最终都是以位图的形式存储的,只是尺寸大小可能不同)

  3.python的内存:

    import:尼玛,原来python一旦import该模块之后,就不释放内存了,也就是没有unimport了= =、

  其他不太记得了,到时候再补充吧。。。

时间: 2024-08-09 23:52:38

内存优化的相关文章

试试SQLSERVER2014的内存优化表

原文:试试SQLSERVER2014的内存优化表 试试SQLSERVER2014的内存优化表 SQL Server 2014中的内存引擎(代号为Hekaton)将OLTP提升到了新的高度. 现在,存储引擎已整合进当前的数据库管理系统,而使用先进内存技术来支持大规模OLTP工作负载. 就算如此,要利用此新功能,数据库必须包含"内存优化"文件组和表 即所配置的文件组和表使用Hekaton技术. 幸运的是,SQL Server 2014使这一过程变得非常简单直接. 要说明其工作原理,我们来创

android内存优化5—对界面UI的优化(2)

在一个应用程序中,一般都会存在多个Activity,每个Activity对应着一个UI布局文件.一般来说,为了保持不同窗口之间的风格统一,在这些UI布局文件中,几乎肯定会用到很多相同的布局.如果我们在每个xml文件中都把相同的布局都重写一遍,一个是代码冗余,可读性很差:另一个是修改起来比较麻烦,对后期的修改和维护非常不利.所以,一般情况下,我们需要把相同布局的代码单独写成一个模块,然后在用到的时候,可以通过<include /> 标签来重用layout的代码. 常见的,有的应用在最上方会有一个

探讨深入Java虚拟机之内存优化

上一篇我们讲述了Java虚拟机的体系结构和内存模型,那么我们就不得不说到内存泄露.大家都知道,Java是从C++的基础上发展而来的,而C++程序的很大的一个问题就是内存泄露难以解决,尽管Java的JVM有一套自己的垃圾回收机制来回收内存,在大多数的情况下并不需要java程序开发人员操太多的心,但也是存在泄露问题的,只是比C++小一点.比如说,程序中存在被引用但无用的对象:程序引用了该对象,但后续不会或者不能再使用它,那么它占用的内存空间就浪费了. 我们先来看看GC是如何工作的:监控每一个对象的运

Unity内存优化技术测试案例

笔者介绍:姜雪伟,IT公司技术合伙人,IT高级讲师,CSDN社区专家,特邀编辑,畅销书作者,已出版书籍:<手把手教你架构3D游戏引擎>电子工业出版社和<Unity3D实战核心技术详解>电子工业出版社等. CSDN视频网址:http://edu.csdn.net/lecturer/144 Unity引擎优化技术,无非涉及到三点:CPU优化,GPU优化,内存优化. 先谈谈内存优化:大概可以分成三大部分: 1. Unity3D内部的内存 2. Mono的托管内存 3. 引入的DLL或者第

android内存优化3—从代码角度进行优化

通常我们写程序,都是在项目计划的压力下完成的,此时完成的代码可以完成具体业务逻辑,但是性能不一定是最优化的.一般来说,优秀的程序员在写完代码之后都会不断的对代码进行重构.重构的好处有很多,其中一点,就是对代码进行优化,提高软件的性能.下面我们就从几个方面来了解Android开发过程中的代码优化. 1)静态变量引起内存泄露 在代码优化的过程中,我们需要对代码中的静态变量特别留意.静态变量是类相关的变量,它的生命周期是从这个类被声明,到这个类彻底被垃圾回收器回收才会被销毁.所以,一般情况下,静态变量

Android内存优化1-对Bitmap的内存优化

在Android应用里,最耗费内存的就是图片资源.而且在Android系统中,读取位图Bitmap时,分给虚拟机中的图片的堆栈大小只有8M,如果超出了,就会出现OutOfMemory异常.所以,对于图片的内存优化,是Android应用开发中比较重要的内容. 1) 要及时回收Bitmap的内存 Bitmap类有一个方法recycle(),从方法名可以看出意思是回收.这里就有疑问了,Android系统有自己的垃圾回收机制,可以不定期的回收掉不使用的内存空间,当然也包括Bitmap的空间.那为什么还需

android内存优化4—对界面UI的优化(1)

在Android应用开发过程中,屏幕上控件的布局代码和程序的逻辑代码通常是分开的.界面的布局代码是放在一个独立的xml文件中的,这个文件里面是树型组织的,控制着页面的布局.通常,在这个页面中会用到很多控件,控件会用到很多的资源.Android系统本身有很多的资源,包括各种各样的字符串.图片.动画.样式和布局等等,这些都可以在应用程序中直接使用.这样做的好处很多,既可以减少内存的使用,又可以减少部分工作量,也可以缩减程序安装包的大小. 下面从几个方面来介绍如何利用系统资源. 1)利用系统定义的id

android内存优化6—对界面UI的优化(3)

本篇博文主要讨论一下复杂界面中常用的一种技术--界面延迟加载技术. 有时候,我们的页面中可能会包含一些布局,这些布局默认是隐藏的,当用户触发了一定的操作之后,隐藏的布局才会显示出来.比如,我们有一个Activity用来显示好友的列表,当用户点击Menu中的"导入"以后,在当前的Activity中才会显示出一个导入好友的布局界面.从需求的角度来说,这个导入功能,一般情况下用户是不使用的.即大部分时候,导入好友的布局都不会显示出来.这个时候,就可以使用延迟加载的功能. ViewStub是一

Unity Mono运行机制分析及内存优化

一.Mono原理 此处简单介绍下Mono这个奇葩,主要通过Mono可以轻松实现跨平台,目前使用Unity开发手游Android平台大多使用Mono实现,但是诛仙手游使用il2cpp技术.具体il2cpp知识大家可以度娘. 二.内存分配机制 上图为内存分配策略,但是在此结合实践经验有bug存在,当分配大块内存特别明显,来回分配与切换应用会崩溃,主要是GC不够及时即使是每次分配完手动GC也不会立即释放. 三.内存泄漏原因 Mono是如何判断已用内存中哪些是不再需要使用的呢?是通过引用关系的方式来进行

unity profile使用,内存优化,包大小优化

游戏优化往往是游戏开发中比较重要的一个环节,下面就分享一些自己在性能优化,内存优化,包大小优化方面的经验和总结. Profiler 是unity自带的,用来分析游戏运行性能,内存使用等非常好的工具,你可以通过它准确定位到影响游戏性能的脚本方法,内存过高的资源等等,对你优化游戏性能,内存有很大的帮助. 一.cpu占用分析 可以看出在白色竖线定位的那一帧,Game.Update()占用了88.3%,如果想知道脚本具体调用堆栈,和具体的问题出在哪,需要把Deep Profiler选上进行深度分析,当你