对于startActivity的使用改进

传统方式

一直以来,使用startActivity的方式就是如下:

比如从AActivity跳转到BActivity,那么我们是在AActivity中这样去写:

    Intent intent = new Intent(this, BActivity.class);
    startActivity(intent);

这样写的话会遇到的问题我罗列了如下几点

  • 每一次想跳转到BActivity都要写一次
  • 假如我想追踪有哪些地方跳转到BActivity的话,比较麻烦

虽然不是什么大问题,但是,影响工作效率。那么,有问题就要解决。有没有一种方式可以解决以上几个问题呢?

改进方式

那么我们针对以上情况,有没有方式可以改进呢?

有的,在BActivity中可以写下如下静态方法:

    public static void start(Context context){
        Intent intent = new Intent(context, BActivity.class);
        startActivity(intent);
    }

那么,我在那些需要跳转到BActivity的地方这样写就好了:

    BActivity.start(this);

完成了。省了好多代码有木有?在需要追踪有哪些地方跳到这里来,那么我查看该start方法被哪些地方调用了就好了。

还有,还有

先看一个情景,假如有一个界面,是笔记界面(NoteActivity),这个界面有两种功能,第一就是查看笔记,仅查看;第二就是修改笔记,可编辑。那么我们可以怎么做?

传统方式下,我想到的是定义两个ACTION的常量,在startActivity的时候指定ACTION,然后在NoteActivity里面进行判断,再做相应处理。

如下:

    public class NoteActivity{
        public final static int ACTION_READ = 0;
        public final static int ACTION_EDIT = 1;

        private int mAction = ACTION_READ;
        ... ...

         @Override
        protected void onCreate(Bundle savedInstanceState) {
            mAction = getIntent().getIntExtra("action", ACTION_READ);
            //再根据action去做相应处理
        }
    }

但是这样很麻烦,我在每个要跳到这里来的地方都要码上:

        Intent intent = new Intent(this, NoteActivity.class);
        intent.putExtra("action", NoteActivity.ACTION_READ);//or ACTION_EDIT
        startActivity(intent);

而且用常量去指定的这种方法不太符合代码规范,那么如何改进呢?

我可以这样:

NoteActivity增加两个静态方法:

只读时这样:

public static void startToRead(Context context){
    Intent intent = new Intent(context, NoteActivity.class);
    intent.putExtra("action", NoteActivity.ACTION_READ);
    startActivity(intent);  
}

编辑时这样:

    public static void startToEdit(Context context){
        Intent intent = new Intent(context, NoteActivity.class);
        intent.putExtra("action", NoteActivity.ACTION_EDIT);
        startActivity(intent);
    }

那么,我在要跳转来干嘛的时候就可以直接调用指定的方法咯。很直接的。

编程要记住“让方法名去描述你要干什么”,这样再好不过。

变量、函数或类的名称应该已经答复了所有的大问题。它该告诉你,它为什么会存在,它做什么事,应该怎么用。——《代码整洁之道》

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
使用adb命令进行稳定性测试,您可以执行以下步骤: 1. 首先,确保您已经安装了Android SDK,并将adb工具添加到系统的PATH变量中。这样您就可以在命令行中直接运行adb命令。 2. 连接您的Android设备到计算机上,并启用USB调试模式。确保您的设备已正确识别并连接到adb。您可以运行以下命令来验证连接是否成功: ``` adb devices ``` 如果设备列表中显示了您的设备序列号,则说明连接成功。 3. 接下来,您可以使用adb命令来执行各种稳定性测试。这些测试可以包括应用程序的启动时间、内存使用情况、CPU利用率等等。以下是一些常用的adb命令示例: - 测试应用程序启动时间: ``` adb shell am start -W com.example.package/.ActivityName ``` - 获取应用程序的内存使用情况: ``` adb shell dumpsys meminfo com.example.package ``` - 获取应用程序的CPU利用率: ``` adb shell top -n 1 | grep com.example.package ``` 请注意,这些只是示例命令,您可以根据您的需求进行自定义。 4. 运行相应的adb命令后,您将会获得相应的测试结果。根据结果,您可以评估应用程序的稳定性,并根据需要进行优化和改进。 请注意,在执行adb命令时,请确保您已经充分了解每个命令的含义和作用,以避免对您的设备造成不必要的影响。另外,稳定性测试可能会对您的应用程序和设备产生一定的负载,请谨慎操作。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值