我正在创建我的Android应用程序吗?它会以任何方式影响性能吗?

时间:2016-06-16 15:35:04

标签: android performance android-activity

所以基本上我的应用就像这样。有一个物理方程列表可供选择。每个等式(即:Vf = Vi + at)都有自己的整个活动(同时使用xml和java)。以下是方程式活动的示例:

http://i.imgur.com/Jx1VIVX.jpg

所以我想说我想为我的应用程序创建100个方程式。 我是否还必须创建100个单独的活动?

- 如果是,那会影响性能,以及apk文件的大小会增加多少?有没有一种简单的方法将活动分类到目录? - 如果没有,那么我如何将这些“100个单独的活动”合并为更少的活动?

到目前为止,我只完成了3个方程,并为每个方程创建了一个单独的活动。以下是选择页面的外观。

http://i.imgur.com/M3J332n.jpg

示例: 如果我从微调器中选择“求解最终速度”选项,它将执行以下命令并打开所选方程的活动。

//What happens when user chooses a category
 if(position == 1){
 startActivity(vf);

1 个答案:

答案 0 :(得分:0)

不要调用多个活动,而是尝试使用相同的Activity并相应地操纵视图及其内容。

示例

如果用户从微调器中选择“Solve for Final Velocity”选项,它将执行以下操作。

Intent i;

if(position == 1){ 
 i = new Intent(this,SecondActivity.class);
 i.putExtra("Action","Equation1");
 startActivity(i);
}else{
 i = new Intent(this,SecondActivity.class);
 i.putExtra("Action","Equation2");
 startActivity(i);
}
...

在SecondActivity.java中

String input1,input2, formula;

String Action = getIntent().getExtras().getString("Action");
//now you have "What to do solved"

switch(Action){
  case "Equation1" :
      //manipulate your formula for Equation1
  break;
  case "Equation2" : 
     //manipulate your formula for Equation2
  break;
}

如果您不需要特定的等式,您甚至可以隐藏特定的视图。

希望这有帮助。