Android 技术开发程序员Android开发

Android之Window和弹窗问题

2019-05-08  本文已影响127人  杨充211

目录介绍

好消息

弹窗博客笔记汇总

10.0.0.1 Window是什么?如何通过WindowManager添加Window(代码实现)?WindowManager的主要功能是什么?

10.0.0.2 Window概念解析?WindowSession的创建过程是怎样的?WindowSession的作用?Token的使用场景?

10.0.0.3 Activity、View、Window三者之间的关系,Window有哪几种类型?

10.0.0.5 Activity的启动过程是怎样的?Activity的视图加载的源码分析?Activity创建和Dialog创建过程的异同?

10.0.0.6 如何处理快速连续点击了多次按钮时Toast就触发了多次而关闭不掉?

10.0.0.7 DecorView何时才被WindowManager真正添加到Window中?Window的addView源码分析?

10.0.0.8 Dialog的Window创建过程?为什么Dialog不能用Application的Context?

10.0.0.9 什么是DecorView?如何获取到DecorView?DecorView的职责是什么?DecorView如何被加载到Window中?

10.0.1.0 DecorView如何显示出来,为什么setContentView()设置的界面,为什么在onResume()之后才对用户可见呢?

10.0.1.1 什么是ViewRoot?ViewRoot属于View树的一份子吗?ViewRoot的工作流程是怎么样的?

10.0.1.2 吐司为何会出现内存泄漏?在Toast构造方法中创建NT对象是干什么用的?Toast是怎么show出来的?

10.0.1.3 连续吐司是如何确定吐司的先后顺序?为什么Toast执行show后过了一会儿就自动销毁?

10.0.1.4 如何理解普通应用的Toast显示数量是有限制的?为什么要判断是否是系统吐司?为何Activity销毁后Toast仍会显示?

10.0.1.5 为什么说Toast尽量用全局上下文?说一下Toast的显示和隐藏重点逻辑,说下你的理解?

10.0.1.6 Toast报错Unable to add window是什么意思?Toast运行在子线程会问题,在子线程或者service中能运行吗?

10.0.1.7 为什么建议用DialogFragment替代Dialog?如何定义DialogFragment样式?使用dialogFragment有何好处?

10.0.1.8 Dialog的Window创建过程是怎样的?为什么Dialog不能用Application的Context,说一下原因?

10.0.1.9 Dialog和Window有什么关系?Dialog的dismiss和cancel()方法都可销毁弹窗,它们有什么区别?

10.0.2.0 PopupWindow中不设置为什么必须设置宽高?PopupWindow和Dialog有什么区别?说下创建和销毁的大概流程?

10.0.2.1 Snackbar与吐司有何区别在哪里?Snackbar控件show时为何从下往上移出来?为什么显示在最下面?

10.0.2.2 说一下Snackbar和SnackbarManager类的设计有哪些奥妙的地方,如何处理消息的显示顺序?

其他介绍

01.关于博客汇总链接

02.关于我的博客

弹窗开源库地址:https://github.com/yangchong211/YCDialog

笔记开源库地址:https://github.com/yangchong211/YCBlogs

上一篇下一篇

猜你喜欢

热点阅读