因为运行你这个程序的时候会同时运行java虚拟机 这个可是个大块头
所以才说java的代码执行效率和c比起来要差的多
这个没法优化....
先看下是否有内存泄露,简单的方法就是隔一段时间检查下内存,看看是否是持续上升.
然后看下资源是否可以优化,比如你加载的图片有没有resize过,尽可能减少资源的内存消耗.
游戏卡顿最主要的是FPS帧率太低,把帧率统计输出来看下.检查下UI线程里或者OpenGL线程里是否做了I/O操作,这个是造成卡顿的主要原因.把I/O操作全部放入工作线程中,UI线程只做数据读取和渲染.这样帧率就可以提高了
不行就换个好的电脑 或者尝试重启
如果是对象或是字符串那么重复的创建很容易造成内存的大量被占用,如果是基本类型那么并不会造成太多的影响.
JVM调用GC的频度还是很高的,主要两种情况下进行垃圾回收:
当应用程序线程空闲;另一个是java内存堆不足时,会不断调用GC,若连续回收都解决不了内存堆不足的问题时,就会报out of memory错误.因为这个异常根据系统运行环境决定,所以无法预期它何时出现.
根据GC的机制,程序的运行会引起系统运行环境的变化,增加GC的触发机会.
为了避免这些问题,程序的设计和编写就应避免垃圾对象的内存占用和GC的开销.显示调用System.GC()只能建议JVM需要在内存中对垃圾对象进行回收,但不是必须马上回收,
一个是并不能解决内存资源耗空的局面,另外也会增加GC的消耗.
以上就是土嘎嘎小编为大家整理的一段java代码占满内存相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!