我添加了一个方法
public static void cancelAll(RequestQueue queue,@NonNull final Object tag){
queue.cancelAll(new RequestQueue.RequestFilter() {
@Override
public boolean apply(Request<?> request) {
Object oldTag = request.getTag();
if(tag == null || oldTag == null){
return false;
}
if(oldTag instanceof Integer && tag instanceof Integer){
return (int)oldTag == (int)tag;
}else if(oldTag instanceof String && tag instanceof String){
return ((String) tag).equalsIgnoreCase((String)oldTag);
}
return false;
}
});
}
dex方法计数加3。
我认为他们是取消所有并申请。第三个是什么?
BuildType是release.And我使用proguard。
将buildType设置为debug时也是如此。
答案 0 :(得分:0)
您引用的dex方法计数指定单个dex中引用的方法总数,而不仅仅是声明的! 因此,您的问题不容易回答。
为什么不使用带有和不带此方法的dextra工具转储所有方法名称,然后对输出进行差异化?
例如:
./dextra -M classes.dex
将以下列格式输出所有引用的method_ids列表:
Method (0): <init> Access Flags: 0x0 Params: () Returns: V
Method (1): attachBaseContext Access Flags: 0x0 Params: (Landroid/content/Context;) Returns: V
Method (2): getClassLoader Access Flags: 0x0 Params: () Returns: Ljava/lang/ClassLoader;
...