【问题标题】:Is it possible to speed up the execution of a method in Android (Java)?是否可以加快 Android (Java) 中方法的执行速度?
【发布时间】:2014-01-08 00:05:48
【问题描述】:

晚安,

我目前在我的应用程序中有一个选项,点击按钮后,计算器应该会打开。

我目前有的计算器的打开方法代码如下:

 public void selectcalculator() {
     ArrayList<HashMap<String,Object>> items =new ArrayList<HashMap<String,Object>>();
 final PackageManager pm = getPackageManager();
 List<PackageInfo> packs = pm.getInstalledPackages(0);  
 for (PackageInfo pi : packs) {
 if( pi.packageName.toString().toLowerCase().contains("calcul")){
     HashMap<String, Object> map = new HashMap<String, Object>();
     map.put("appName", pi.applicationInfo.loadLabel(pm));
     map.put("packageName", pi.packageName);
     items.add(map);

 //If calculator found, launch it

      if(items.size()>=1){
      String packageName = (String) items.get(0).get("packageName");
      Intent i = pm.getLaunchIntentForPackage(packageName);
        startActivity(i);
      } 
      else{

        //Calculator Not Found
            }
 }
       }
 }

问题是我需要立即启动计算器,而使用以下代码需要 1-2 秒才能加载。我的问题是,有没有什么方法可以加速 Java 中的方法,或者特别是加速这个方法?

非常感谢, 詹姆士。

【问题讨论】:

  • 使用 Traceview 并准确找出问题所在。

标签: java android eclipse methods adt


【解决方案1】:

这取决于您运行程序的设备的物理特性,为了更加用户友好,在加载内容 id 时使用 ProgressBar...

阅读此http://developer.android.com/reference/android/widget/ProgressBar.html

我希望这会有所帮助...

【讨论】:

  • 同意。考虑到所有因素,1 到 2 秒实际上是相当快的。添加一个不错的进度条处理程序类将一遍又一遍地支付红利。不要忘记只创建进度对话框,因为如果您一次有多个活动显示,它们就不会很好地播放。
猜你喜欢
  • 1970-01-01
  • 2012-05-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多