Toast在连续调用时,会按照队列来一个一个的展示,体验很不好。我尝试了一种新的方式去展示一个Toast,达到实时更新Toast内容的目的,并且消失时间按最后一个Toast来计算倒计时。
因为使用了Activity的Context,所以用了弱引用来防止内存泄漏。查看SDK 27的Toast源码,使用Activity或Application的Context没有差别,Context只是用来获取PackageName和Resource。如果有误烦请指出,感谢!
public class ToastUtil {
private static WeakReference<Toast> currentToast;
private static WeakReference<Toast> nextToast;
public static void show(Context context, @NonNull String text, int duration) {
Toast toast = Toast