JVM参数noverify和Xverify之间有什么区别:none?
答案 0 :(得分:7)
他们是一样的。
public class ThemeAdapter extends RecyclerView.Adapter<ThemeAdapter.MyVH> {
private final LayoutInflater inflater;
private List<Theme> ThemeList;
public ThemeAdapter(Context context, List<Theme> ThemeList){
inflater = LayoutInflater.from(context);
this.ThemeList = ThemeList;
}
@Override
public MyVH onCreateViewHolder(ViewGroup parent, int viewType) {
View view = inflater.inflate(R.layout.theme_card, parent, false);
MyVH holder = new MyVH(view);
return holder;
}
@Override
public void onBindViewHolder(MyVH holder, int position) {
Theme current = ThemeList.get(position);
holder.name.setText(current.Name);
holder.mCardView.setCardBackgroundColor(Color.parseColor(current.Color));
}
@Override
public int getItemCount() {
return ThemeList.size();
}
class MyVH extends RecyclerView.ViewHolder implements View.OnClickListener {
me.arulnadhan.robototextview.widget.RobotoTextView name;
CardView mCardView;
Context context;
public MyVH(View itemView) {
super(itemView);
context = itemView.getContext();
itemView.setOnClickListener(this);
name= (me.arulnadhan.robototextview.widget.RobotoTextView) itemView.findViewById(R.id.Theme);
mCardView = (CardView)itemView.findViewById(R.id.ThemeCard);
}
@Override
public void onClick(View view) {
switch (getAdapterPosition()){
case 1:
Utility.setTheme(context, 1);
ThemeActivity.recreateActivity();
}
public void recreateActivity() {
finish();
final Intent intent = IntentCompat.makeMainActivity(new ComponentName(this, MainActivity.class));
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK | IntentCompat.FLAG_ACTIVITY_CLEAR_TASK);
startActivity(intent);
}
}
}
}
表示非标准参数。非标准参数仅适用于某些VM(因此名称非标准)。 -X
只是noverify
的快捷方式。
为什么两者兼而有之?除非你问开发人员,否则我认为你不会得到真正的答案 - 它没有记录(据我所见)。我最好的猜测是保持一致并降低冗长度。
这是推测,但Xverify:none
存在的原因可能基于开发人员使用noverify
的频率。如果默认情况下启用了验证,则没有太多理由使用-Xverify:true
,因此-Xverify:true
将是使用-Xverify:false
参数的主要原因,因此-Xverify
缩写。< / p>