标签: dalvik

如何找到java.rmi包的jar

我正在开发一个需要一些rmi东西的Android应用程序,因为Android默认情况下不支持rmi我发现这个项目可以用来捆绑我的Android应用程序的rmi包但我找不到包含java.rmi包的jar .任何人都可以建议在哪里找到它?或任何其他方式使用java.rmi与Android

谢谢 !!!

java android dalvik jsr

4
推荐指数
1
解决办法
1万
查看次数

Dalvik classloader之谜

我在Adnroid 2.2 SDK上,无法在MultiUserChat类中获取我的静态块来执行.我试图强制加载它

try 
{
    String qual = MultiUserChat.class.getName();
    ClassLoader.getSystemClassLoader().loadClass(qual);

} catch (ClassNotFoundException e) {

    e.printStackTrace();
}
Run Code Online (Sandbox Code Playgroud)

它总是击中捕获块.'qual'获得该类的有效名称......它可以是什么?

android static-block classloader dalvik

4
推荐指数
1
解决办法
2046
查看次数

直接访问静态字段而不是调用静态getter方法,它更快吗?

我正在编写一个Android应用程序,我有一个类,可以生成并维护一些偶尔可以更改的固定URL.我将它们全部保存在一个名为UrlUtils的类中:

public class UrlUtils {
  private static String sUrlBase = "http://google.com";

  /**
   * Called occasionally
   */
  public static void refreshUrlBases() {
        sUrlBase = "http://yahoo.com/" + new Random().nextInt();
  }

   public static String getUrlBase() {
        return sUrlBase;
   }
}
Run Code Online (Sandbox Code Playgroud)

我必须拨打getUrlBase()上面的很多电话,所以我正在考虑sUrlBase公开并直接访问它.这种方法在性能方面会更好吗?

java performance android dalvik

4
推荐指数
1
解决办法
1612
查看次数

方法中"太多"局部变量的性能影响?

我被分配了扩展软件的某个组件(由其他人编写).它是用Android编写的,完全用Java编写(没有我知道的本机/ c ++组件).

熟悉代码时,我遇到了一个方法(渲染类的绘图方法).该方法涉及一个更新对象的大循环(然后另一个方法将在以后呈现它们).该方法的创建者似乎在循环之前将所有/大多数成员变量和数组以及其他对象的字段缓存到局部变量中.代码看起来像这样:

    float[] coordArr = mCoordArr;
    float[] texCoordArr = mTexCoordArr;
    float[] cArray = mColArray;

    // ... there are further locals too, I didn't copy all here

    float[] color = mColor;
    float r = color[0];
    float g = color[1];
    float b = color[2];
    float a = color[3];

    int texw = mTexW;
    int texH = mTexH;
    Font font = mFont;
    float[] ccords = font.ccords;
    float cf = font.cf;
    float cu = font.cu;
    int len = mCurLength;

    // Update …
Run Code Online (Sandbox Code Playgroud)

java performance android local-variables dalvik

4
推荐指数
1
解决办法
983
查看次数

使用局部变量与场对GC的影响

我在onDraw()方法的调用堆栈中有一个3级的方法.它被称为数百次,有时每次重绘数千次.我已经对onDraw()方法进行了大量的分析,我可以看到以下方法占总数的14%,所以绝对值得一看.我需要在压缩缩放和拖动操作期间提高帧速率.

private void getVisiblePointsFromPath(){

   double longRads = longitude * (Math.PI / 180);
   double latRads = latitude * (Math.PI / 180);

   ...

}
Run Code Online (Sandbox Code Playgroud)

当方法退出并且双精度超出范围时,我认为它们符合GC的条件,尽管我知道这可能发生的时间是非确定性的.

这样做有什么好处:

public class GisView extends ImageView{

    private double longRads;
    private double latRads;

    private void getVisiblePointsFromPath(){

       longRads = longitude * (Math.PI / 180);
       latRads = latitude * (Math.PI / 180);

       ...

    }

}
Run Code Online (Sandbox Code Playgroud)

我假设这个习惯用法会导致双打被取消,然后在每次传递时重新分配,但不会导致额外的垃圾,从而减少我造成的GC数量.或者VM比那更聪明?

请注意,我的问题本身并不是"哪个更快",而是关于哪个可能导致GC减少.我可以测量速度差异,但我不太了解Dalvik VM和Android GC来预测哪个导致更少的垃圾.

java android dalvik

4
推荐指数
1
解决办法
155
查看次数

查询/system/build.prop中的属性

有人可以解释一下build.prop中的以下属性,

dalvik.vm.heapstartsize=5m
dalvik.vm.heapgrowthlimit=48m
dalvik.vm.heapsize=128m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapminfree=512k
dalvik.vm.heapmaxfree=2m
Run Code Online (Sandbox Code Playgroud)

谢谢你的帮助.

heap android dalvik

4
推荐指数
1
解决办法
8573
查看次数

如何以及将Java字节码转换为Android dex文件?

在Android中如何以及究竟将java字节码转换为dex文件?

我知道Android人员已经做过的唯一部分就是将他们从许可问题中解救出来,使系统快速执行,内存需求低,以及其他更多功能,因为它是基于寄存器的VM.

但是我能说出这个名字的名字呢?

android dalvik

4
推荐指数
1
解决办法
8169
查看次数

AndFix如何修补方法?

我最近了解到一个Android库AndFix,它允许实时方法修补.现在,据我所知,Dalvik不允许运行时操作字节码或dex.

有人可以提供一个很好的解释AndFix如何实时修补?

android dalvik

4
推荐指数
1
解决办法
585
查看次数

如何使用IDA Pro在apk中调试*.so?

我有一个使用jni的apk文件.我可以将classes.dex传递给IDA pro并将其附加到设备上的进程,但我无法进入本机库*.so.怎么做?

我甚至没有在"函数窗口"字段中看到C函数.我只看到java方法.

或者也许在apk中有另一种调试*.so的方法?

debugging java-native-interface android dalvik ida

4
推荐指数
1
解决办法
5180
查看次数

以编程方式验证Android odex文件

是否可以通过编程方式验证系统生成的odex文件的完整性/校验和?

我不知道该如何检测,如果扎根的Android手机上的攻击者是否为应用程序安装了自己的odex文件版本。

android caching dalvik

3
推荐指数
1
解决办法
2688
查看次数