我正在为Android(Java)写作.
我正在声明int和float是持续循环的一部分.
声明后,其中一些不需要更改.
如果我在声明时将它们全部设置为最终,那么事情会更快吗?
[编辑]
感谢大家.我真的没想到它会做出任何改进,我只是注意到,在浏览了各种大型项目的来源之后,这是相当普遍的.干杯
我有以下代码显示带有字母的图像,
public class MainActivity extends Activity
{
private String[] capital_letters,small_letters;
@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
}
@Override
protected void onStart()
{
super.onStart();
try
{
capital_letters = getApplicationContext().getResources().getStringArray( R.array.capital_letters );
small_letters = getApplicationContext().getResources().getStringArray( R.array.small_letters );
MyAdapter adapter = new MyAdapter ( MainActivity.this ,capital_letters,small_letters );
ListView list = ( ListView ) findViewById( R.id.list );
list.setAdapter( adapter );
list.setOnItemClickListener( new AdapterView.OnItemClickListener()
{
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int position,long id )
{
Intent intent = …Run Code Online (Sandbox Code Playgroud) 我正在制作我的第一款Android游戏,它将成为一款使用opengl es的3D街机游戏.我已经做了很长时间的工作,主要是为了未来的灵活性优化发动机.
无论如何,现在我完全已经完成了游戏功能和所有漂亮的东西,但它落后于不是我的调试手机的手机.该游戏拥有相当高质量的手机游戏图形,所以预计会有一点点落后,但是在Nexus S上运行游戏和在MyTouch 4G上运行游戏之间的性能差异是巨大的.这款游戏甚至不能在像LG Optimus这样的低端手机上播放(游戏运行,但它太过波涛汹涌,不能轻松玩).在我的Nexus SI上很少会出现波动(我在游戏中实现了帧率独立运动)但是在MyTouch 4G上它更常见,虽然游戏仍然可以播放......但是很烦人
我来自桌面游戏开发背景,优化从来没有引起我的兴趣.你能推荐什么来帮助我加快比赛速度?
我尽可能地尝试优化代码,并且性能得到了显着改善,但似乎有一些我错过或忽略的东西.它是一个巨大的游戏,具有完整的引擎和大量的代码.
我已经尝试跟踪所有分配并确保它们在运行时没有被释放或忘记,以便在播放时不会调用GC.多数民众赞成基本上我能想到的所有,我不知道还有什么可以使它lagg
而且我怀疑它是网格的聚合数,因为即使它们是高质量的,我在游戏中添加了一个选项,让你可以选择低,中,高的图形质量,就像电脑游戏一样,低和高之间的差异介于600-900个顶点之间!我注意到的唯一改进是加载时间.此外,没有任何特殊的后处理效果,灯光,着色器,实时SSS或其中任何一种.只是纹理面孔:P
我正在做的"lagg"随机冻结.我很确定他们是GC,但它可能是别的,因为我认为我已经找到并控制了所有的分配(有很多).由于我的游戏是独立于帧速率的,每当它解冻时,玩家和敌人以及所有东西都"向前跳"以保持同步,这使得已经很难的游戏变得更加困难!
我是剖析和优化的新手.我如何使用android调试工具(或其他第三方工具)来更好地了解我的游戏在运行时的表现,以及何时/为什么它会冻结以便我可以修复它们.
此外,奖金问题:):有没有办法让我看到它如何在没有手机或知道拥有它们的人的情况下在其他手机上执行?比如,即使我没有Droid X也没有我知道的任何人,它在Droid X上的速度有多快
我有一个透明的PNG文件,我用作OpenGL纹理.我在加载它Bitmap用BitmapFactory.decodeResource,然后把它上传到GPU.
PNG文件相当大,为了减少APK大小,我试图使用两个JPG - 一个使用RGB数据,另一个使用alpha通道(灰度).
如何将两个JPG组合在一个Bitmap具有Alpha通道的对象中?我尝试加载alpha通道Bitmap.Config.ALPHA_8,然后使用Canvas但是没有运气到目前为止将它们绘制在彼此之上.