Android提醒微技巧,你真的了解Dialog、Toast和Snackbar吗?
一个简单的自定ToastDemo,参考了郭霖大神的这篇博客,同时考虑到Toast可能会持有View,因此采用软引用的方式保存Toast对象
class DToast { private static WeakReference<Toast> holder; static void show(Context context, String content) { Toast toast; if (holder != null) { toast = holder.get(); if (toast != null) { toast.setText(content);//已初始化,避免重复创建 } else { //已被gc,重新初始化 toast = Toast.makeText(context, content, Toast.LENGTH_SHORT); holder = new WeakReference<>(toast); } } else { //初始化 toast = Toast.makeText(context, content, Toast.LENGTH_SHORT); holder = new WeakReference<>(toast); } toast.show(); } }本人水平有限,请指正、并请不吝赐教。