手机游戏优化技巧

手机游戏优化技巧:
a.减少内存使用:
—尽可能避免使用对象:具备某种意义功能时才使用对象,否则用基本数据类型;
—重用对象:重用对象(初始化对象状态)而不重新创建;
—显示清除对象:显示设置无用对象为空,以便来及收集器能尽快释放内存;
b.最小化网络数据;
c.去除不必要图形:去除动画帧,使用图形旋转或变形(90度、180度等);
d.代码优化技巧:
—不带调试信息的编译:调试游戏代码后,用-g:none选项关闭调试信息,如javac -g:none MyMIDlet.jar;
—去除不必要赋值:如
for(int i=0;i<size();i++) a=(b+c)/i;//循环size()次就赋值size()次
改写成:
int s=size();
int tmp=b+c;
for(int i=0;i<s;i++) a=tmp/i;//一次赋值即可
—去除常用子表达式:如
b=Math.abs(a)*c;
d=e/(Math.abs(a)+b);//两次调用Math.abs函数;
改写成:
int tmp=Math.abs(a);
b=tmp*c;
d=e/(tmp+b);//一次调用Math.abs函数;
—利用局部变量:如
for(int i=0;i<1000;i++) a=obj.b*i;//多次循环访问对象的变量
改写成
int localb=obj.b;
for(int i=0;i<1000;i++) a=localb*i;
—扩展循环:如
for(int i=0;i<1000;i++) a[i]=25;//循环1000次
改写成
int i=0;
for(j=0;j<100;j++) {
a[i++]=25;
a[i++]=25;
a[i++]=25;
a[i++]=25;
a[i++]=25;
a[i++]=25;
a[i++]=25;
a[i++]=25;
a[i++]=25;
a[i++]=25;
}//循环100次
—代码紧缩和混淆:利用代码紧缩器(code shrinker)和代码混淆器(cod obfuscator);
开源工具ProGuard混合代码紧缩器(code shrinker)和代码混淆器;
e.探查手机游戏代码:WTK的"preference"->"Monitor"->"profiler"勾选"Enable profiling";
WTK模拟器退出应用程序后会自动运行探查器并显示方法及其调用次数、执行时间、CPU占比;
f.监视手机游戏内存使用:WTK的"preference"->"Monitor"->"Memory Monitor"勾选"Enable Memory Monitor";
激动内存监视在WTK模拟器运行MIDlet时显示内存使用情况,尤其是各类对象内存使用情况;

你可能感兴趣的:(游戏,C++,c,C#,网络应用)