leakcanary

深入学习性能优化--面试使用

非 Y 不嫁゛ 提交于 2020-09-29 07:18:25
转载地址 1、 你对 APP 的启动有过研究吗? 有做过相关的启动优化吗? 程序员: 之前做热修复的时候研究过 Application 的启动原理。项目中也做过一些启动优化。 面试官: 哦,你之前研究过热修复? (这个时候有可能就会深入的问问热修复的原理,这里咱们就不讨论热修复原理) 那你说说对启动方面都做了哪些优化? 程序员: 1 .我发现程序在冷启动的时候,会有 1s 左右的白屏闪现,低版本是黑屏的现象,在这期间我通过翻阅系统主题源码,发现了系统 AppTheme 设置了一个 windowBackground ,由此推断就是这个属性捣的鬼,开始我是通过设置 windowIsTranslucent 透明属性,发现虽然没有了白屏,但是中间还是有一小段不可见,这个用户体验还是不好的。最后我观察了市面上大部分的 Android 软件在冷启动的时候都会有一个 Splash 的广告页,同时在增加一个倒数的计时器,最后才进入到登录页面或者主页面。我最后也是这样做的,原因是这样做的好处可以让用户先基于广告对本 APP 有一个基本认识,而且在倒数的时候也预留给咱们一些对插件和一些必须或者耗时的初始化做一些准备。 Ps:这里会让面试官感觉你是一个注重用户体验的 2 .通过翻阅 Application 启动的源码,当我们点击桌面图标进入我们软件应用的时候,会由 AMS 通过 Socket 给

android.support.constraint.ConstraintLayout has leaked:

北城以北 提交于 2020-08-24 07:09:08
问题 I'm using LeakCanary to detect memory leaks in an app. I successfully identified and fixed some leaks using it, but I am struggling find the root of this leak: * android.support.constraint.ConstraintLayout has leaked: * Toast$TN.mNextView * ↳ LinearLayout.mContext * ↳ HomeActivity.!(mDelegate)! * ↳ AppCompatDelegateImplN.!(mActionBar)! * ↳ ToolbarActionBar.!(mDecorToolbar)! * ↳ ToolbarWidgetWrapper.!(mToolbar)! * ↳ Toolbar.mParent * ↳ ConstraintLayout * Reference Key: 552b5bc5-409d-44c4-8412

安卓高面试知识整理

大兔子大兔子 提交于 2020-08-16 08:47:32
安卓高面试知识整理 0.0Android 四大组件:这是一份全面 & 详细的Activity学习指南 https://blog.csdn.net/carson_ho/article/details/107012652 0.1手把手带你清晰梳理自定义View的工作全流程! https://blog.csdn.net/carson_ho/article/details/98477394 1.activity启动流程 Activity启动过程简要介绍 无论是通过点击应用程序图标来启动Activity,还是通过Activity内部调用startActivity接口来启动新的Activity,都要借助于应用程序框架层的ActivityManagerService服务进程。在前面一篇文章Android系统在新进程中启动自定义服务过程(startService)的原理分析中,我们已经看到,Service也是由ActivityManagerService进程来启动的。在Android应用程序框架层中,ActivityManagerService是一个非常重要的接口,它不但负责启动Activity和Service,还负责管理Activity和Service。 Android应用程序框架层中的ActivityManagerService启动Activity的过程大致如下图所示: 在这个图中

Bate冲刺——问题总结博客(事后诸葛亮和组员交换事宜)

眉间皱痕 提交于 2020-08-09 20:16:11
这个作业属于哪个课程 < 2020 春 W 班 (福州大学) > 这个作业要求在哪里 < 作业要求 > 团队名称 <旗山的骄傲> 这个作业的目标 <Beta 冲刺> 作业正文 < 作业正文 > 其他参考文献 <《构建之法》> part.01 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题 服务于高校师生,集任务发布、物品租赁、失物招领及其他附加功能的校园综合平台。解决了高校日常生活中需要解决难题时需要发布任务的情景;解决了对某类物品急用时物品租赁的场景;解决了丢失/捡到失物时失物招领的情景;解决了找人/找群/找历年卷时使用附加功能时的场景。 定义是否很清楚 定义较为清楚 是否对典型用户和典型场景有清晰的描述 有针对四个模块对典型用户和典型场景有清晰的描述(见下) 发布任务 典型用户:刘志勇 用户需求:代领快递 场景描述: 雨天,一位名为刘志勇的大学生收到了一条快递信息,要去5区在19:00前领快递,但是他不想出门,又不知道专门的代领快递的组织,这时他点开了手机上的“校园芥子空间”app,点击“发布任务”,发起了高额悬赏——5元,不到五分钟就有人接了单,在一小时后给他送快递上门,伴随着“尊敬的刘先生,你的快递到了”的话语以及支付宝到账的提示音,任务结束。 物品租赁 典型用户:刘志勇,黄晓东 用户需求:出租衣服,租赁衣服

Bate冲刺——问题总结博客(事后诸葛亮和组员交换事宜)

蹲街弑〆低调 提交于 2020-08-08 19:15:35
这个作业属于哪个课程 < 2020 春 W 班 (福州大学) > 这个作业要求在哪里 < 作业要求 > 团队名称 <旗山的骄傲> 这个作业的目标 <Beta 冲刺> 作业正文 < 作业正文 > 其他参考文献 <《构建之法》> part.01 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题 服务于高校师生,集任务发布、物品租赁、失物招领及其他附加功能的校园综合平台。解决了高校日常生活中需要解决难题时需要发布任务的情景;解决了对某类物品急用时物品租赁的场景;解决了丢失/捡到失物时失物招领的情景;解决了找人/找群/找历年卷时使用附加功能时的场景。 定义是否很清楚 定义较为清楚 是否对典型用户和典型场景有清晰的描述 有针对四个模块对典型用户和典型场景有清晰的描述(见下) 发布任务 典型用户:刘志勇 用户需求:代领快递 场景描述: 雨天,一位名为刘志勇的大学生收到了一条快递信息,要去5区在19:00前领快递,但是他不想出门,又不知道专门的代领快递的组织,这时他点开了手机上的“校园芥子空间”app,点击“发布任务”,发起了高额悬赏——5元,不到五分钟就有人接了单,在一小时后给他送快递上门,伴随着“尊敬的刘先生,你的快递到了”的话语以及支付宝到账的提示音,任务结束。 物品租赁 典型用户:刘志勇,黄晓东 用户需求:出租衣服,租赁衣服

Bate冲刺——问题总结博客(事后诸葛亮和组员交换事宜)

て烟熏妆下的殇ゞ 提交于 2020-07-28 19:10:49
这个作业属于哪个课程 < 2020 春 W 班 (福州大学) > 这个作业要求在哪里 < 作业要求 > 团队名称 <旗山的骄傲> 这个作业的目标 <Beta 冲刺> 作业正文 < 作业正文 > 其他参考文献 <《构建之法》> part.01 设想和目标 我们的软件要解决什么问题?是否定义得很清楚?是否对典型用户和典型场景有清晰的描述? 解决问题 服务于高校师生,集任务发布、物品租赁、失物招领及其他附加功能的校园综合平台。解决了高校日常生活中需要解决难题时需要发布任务的情景;解决了对某类物品急用时物品租赁的场景;解决了丢失/捡到失物时失物招领的情景;解决了找人/找群/找历年卷时使用附加功能时的场景。 定义是否很清楚 定义较为清楚 是否对典型用户和典型场景有清晰的描述 有针对四个模块对典型用户和典型场景有清晰的描述(见下) 发布任务 典型用户:刘志勇 用户需求:代领快递 场景描述: 雨天,一位名为刘志勇的大学生收到了一条快递信息,要去5区在19:00前领快递,但是他不想出门,又不知道专门的代领快递的组织,这时他点开了手机上的“校园芥子空间”app,点击“发布任务”,发起了高额悬赏——5元,不到五分钟就有人接了单,在一小时后给他送快递上门,伴随着“尊敬的刘先生,你的快递到了”的话语以及支付宝到账的提示音,任务结束。 物品租赁 典型用户:刘志勇,黄晓东 用户需求:出租衣服,租赁衣服