小编Adw*_*wiv的帖子

什么是Android中的旁渠道通知?

android.support.v4.app.NotificationManagerCompat支持库中的类引用Side Channel Notifications.但是没有任何关于它们的文档.

这些通知的目的是什么以及如何使用它们?它们可以用于IPC吗?

android

17
推荐指数
1
解决办法
432
查看次数

Proguard将抽象类中的重写方法删除为未使用

Proguard将抽象类中的重写方法删除为未使用,即使它们在父类中使用.这是一个显示行为的参考实现

public abstract class Animal {
    Animal() {
        born();
    }

    abstract void born();
}

public abstract class Human extends Animal {
    @Override
    void born() {
        System.out.println("Human is born.");
    }
}
Run Code Online (Sandbox Code Playgroud)

keep属性定义为:

-keep public class test.Human {
    public *;
}
Run Code Online (Sandbox Code Playgroud)

Proguard将born()Human类中的重写方法删除为未使用,即使它是从Animal类的构造函数中使用的.生成的映射文件是

test.Animal -> test.a:
    void born() -> a
test.Human -> test.Human:
Run Code Online (Sandbox Code Playgroud)

如果类Human不是抽象的,则不存在此问题.如果类Human是非抽象的,则生成的映射文件是

test.Animal -> test.a:
    void born() -> a
test.Human -> test.Human:
    void born() -> a
Run Code Online (Sandbox Code Playgroud)

我们可以看到,born()在这种情况下保留了该方法.

这是proguard中的错误吗?或者是否有任何可以提供所需行为的优化设置?

我正在使用android工作室的proguard.

java proguard

9
推荐指数
1
解决办法
2370
查看次数

标签 统计

android ×1

java ×1

proguard ×1