提高Android应用程序的速度

时间:2015-02-22 14:50:13

标签: android

在我的android程序中,我有3个函数将不断重复,直到用户退出应用程序。目前,它能够每秒更新一个值(位置)

我想知道在其中一个函数中是否有很多if else条件会降低我的应用程序的性能,即更新启动可能会花费超过一秒的时间。

请注意,if else函数中的2个仅执行一次。所有if-else函数都包含很少的代码。以下是代码

public void positionUpdated(Coordinate userPosition, int accuracy) {

    // GETS EXECUTED ONCE //
    if(nameList.size() == 0) {nameList = indoorsFragment.getZones();}
    if(end == null) {
        for(int i=0 ; i < nameList.size() ; i++) if(nameList.get(i).equals(name)) end = nameList.get(i).getZonePoints().get(0);
    }
    // GETS EXECUTED ONCE //

    if(Math.abs(userPosition.x - end.x) >500) {Toast.makeText(this,"WALK " + Math.abs(end.x - userPosition.x)/1000 + " Meters" , Toast.LENGTH_SHORT).show();return;}

    if(turn) {
        if ((userPosition.y - end.y) < 0) {Toast.makeText(this, "STOP AND TURN RIGHT", Toast.LENGTH_LONG).show();turn=false;return;}
        if ((userPosition.y - end.y) > 0) {Toast.makeText(this, "STOP AND TURN LEFT" , Toast.LENGTH_LONG).show();turn=false;return;}
    }

    if((Math.abs(userPosition.y - end.y) < 500)) Toast.makeText(this, "WALK", Toast.LENGTH_LONG).show();
}

希望收到一些关于此的反馈,谢谢 Haziq

1 个答案:

答案 0 :(得分:1)

语句的数量并不重要,实际上它们是在几分之一纳秒内执行的。重要的是,如果你有许多嵌套循环或递归。

如果您不希望在前台线程中完成太多工作,请使用AsyncTaskRunnable,然后更新主线程中的UI。