noverify和Xverify之间的区别:没有?

时间:2015-12-25 17:59:37

标签: java bytecode jvm-arguments

JVM参数noverify和Xverify之间有什么区别:none?

1 个答案:

答案 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>