0

我正在尝试一种方法,通过使用相同的活动切换布局来减少应用程序中使用的活动总数。我正在做的是-

/* Class A is the actual activity */
public class A extends Activity{

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Button but=(Button)findViewById(R.id.button1);
        but.setOnClickListener(new View.OnClickListener(){

        /*When the button is pressed, create an object of class B to switch layout*/
        public void onClick(View arg0) {
            B b=new B(A.this);
        }
        });
    }
}


/*Classs B handles some operation*/
public class B{

    Activity a;

    /*Set the new layout inside the constructor or call some other function to do that*/
    B(Activity act){
        a=act;
        a.setContentView(R.layout.newlayout);
    }

所以,B类会切换布局,做一些操作。我想知道这种方法是否是好的做法,以及是否有其他方法可以做到这一点。谢谢

4

1 回答 1

0

老实说,我认为这不是一个好的做法,因为这样可以使堆栈中的几个类保持活动状态,因为它们被始终运行的主要活动类引用,因此可能会浪费资源。

在我看来,管理几个处理特定任务的活动要好得多,原因有两个:

  1. 它遵循面向对象的原则
  2. You delegate to the OS the task to manage resources. For this reason activity class has a lifecycle in order to optimise the resources.
于 2012-08-06T07:44:16.227 回答