小编mes*_*mes的帖子

发布到Google Play后,应用程序突然崩溃

在Google Play上发布新版应用程序后,我立即从一个名为"模拟器上的未知完整Android"的未知设备中获得了一系列新崩溃.

以下是将应用程序上传到Google Play后Crashlytics的屏幕截图.这次崩溃并非来自真实设备.

有谁知道这个模拟器是什么?

Crashlytics控制台:

Crashlytics控制台

在Splunk控制台的这个屏幕截图中可以看到类似的崩溃模式:

Splunk控制台

android google-play developer-console

43
推荐指数
2
解决办法
3807
查看次数

如何避免在 onDraw 方法内创建对象

我知道在onDraw方法内创建对象的成本非常高。drawRoundRect我想绘制一个圆角矩形矩阵,其坐标是动态的,并且我无法缓存所有矩形,因为我使用滚动视图并且可能有很多矩形,方法没有其他重载,该方法具有基元参数,我强制在每次迭代中创建一个 Rectangle 对象。谁能提出有效的解决方案?

@Override
protected void onDraw(Canvas canvas) {
    int h = getMeasuredHeight();
    int tileSize = h / rows;

    for(int i = 0; i < rows; ++i) {
        for(int j = 0; j < columns; ++j) {
            int x = j * tileSize;
            int y = i * tileSize;
            canvas.drawRoundRect(new RectF(x, y, x + tileSize, y + tileSize), 10, 10, tilePaint);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这只是一个例子,矩形可以具有任意坐标。

performance android custom-view

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

Decompiler输出中的无法访问的语句

我反编译了一个APK文件,然后尝试编译它并收到一个"无法访问的语句"编译器错误,我想知道它是一个混淆器技巧,还是反编译失败?这怎么可能?使用 dex2jarJava Decompiler

这是反编译的方法

public void onSensorChanged(SensorEvent paramSensorEvent) {
    float[] arrayOfFloat = paramSensorEvent.values;
    switch (paramSensorEvent.sensor.getType())
    {
    }
    do
    {
        return;
    } while (this.aDegree == arrayOfFloat[0]);
    this.aDegree = arrayOfFloat[0];
    invalidate();
}
Run Code Online (Sandbox Code Playgroud)

java android decompiling dex2jar

0
推荐指数
1
解决办法
222
查看次数