Android
文章平均质量分 82
a3213520
这个作者很懒,什么都没留下…
展开
-
记录Linearlayout 三次测量
记录Linearlayout 三次测量 1、LinearLayout针对设置weight与不设置weight的情况分别处理 2、在 LinearLayout 中总共有 3 个 for 循环,分别处理不同的流程 第一个 for 循环,只会在不使用 weight 属性时进入,并有可能会测量每个 childView 的大小 第二个 for 循环,在使用 android:measureWithLargestChild 时才会进入,并且即使进入也不会调用 childView 的测量方法,只会更新 mTotalLeng原创 2021-05-27 15:15:07 · 472 阅读 · 0 评论 -
Could not find com.android.tools.build:gradle:3.3.0.
Error:Could not find com.android.tools.build:gradle:3.3.0. Searched in the following locations: file:/F:/Android/Android Studio/gradle/m2repository/com/android/tools/build/gradle/3.3.0/gradle-3.0.0.pom file:/F:/Android/Android Studio/gradle/m2repository/co转载 2020-06-15 17:16:52 · 1044 阅读 · 0 评论 -
项目遇到的问题
1、activity反复进入onDestroy onCreate方法 在AndroidManifest.xml文件中使用android:configChanges="keyboardHidden|orientation"配置,当我们横竖屏切换的时候会直接调用onConfigurationChanged方法,而不会重新执行onCreate方法,那当然如果不配置这个属性的话就会重新调用onCreate方法了 ...原创 2020-06-01 16:38:39 · 114 阅读 · 0 评论 -
View的绘制流程
三个阶段 View的整个绘制流程可以分为以下三个阶段: measure: 判断是否需要重新计算View的大小,需要的话则计算; layout: 判断是否需要重新计算View的位置,需要的话则计算; draw: 判断是否需要重新绘制View,需要的话则重绘制。 这三个子阶段可以用下图来描述: measure阶段 此阶段的目的是计算出控件树中的各个控件要显示其内容的话,需要多大尺寸。起点是ViewR...转载 2019-02-19 17:52:24 · 160 阅读 · 0 评论 -
Android优化布局之Merge标签
需要注意的是:只可以作为xml layout的根节点,当需要扩充的xml layout本身是由merge作为根节点的话,需要将被导入的xml layout置于 viewGroup中,同时需要设置attachToRoot为True。 前言:使用是为了避免嵌套过多无用布局,嵌套的布局会让View Tree的高度越来越高,所以应该尽量减少布局的层级来优化布局 应用场景: 1、FrameLayout作为界...原创 2019-01-09 13:55:22 · 381 阅读 · 0 评论 -
Android APP 性能优化
用户体验的性能问题主要总结为4个类别:流畅、稳定、省电,省流量、安装包小 一个高质量的应用应该以4个方向为目标:快、稳、省、小。 快:使用时避免出现卡顿,响应速度快,减少用户等待的时间,满足用户期望。 稳:减低 crash 率和 ANR 率,不要在用户使用过程中崩溃和无响应。 省:节省流量和耗电,减少用户使用成本,避免使用时导致手机发烫。 小:安装包小可以降低用户的安装成本。 卡顿优化 Andro...转载 2019-01-09 10:17:55 · 180 阅读 · 0 评论 -
EventBus的简单使用
一、概述 EventBus是一个Android事件发布/订阅框架,通过解耦发布者和订阅者简化Android事件传递,事件可以理解为消息。 优点: 调度灵活,使用简单,快速且轻量。不依赖于 Context,使用时无需像广播一样关注 Context 的注入与传递。父类对于通知的监听和处理可以继承给子类。通知的优先级,能够保证 Subscriber 关注最重要的通知。粘滞事件(sticky event...原创 2019-01-14 15:51:09 · 220 阅读 · 0 评论 -
Gradle 提速
1、Gradle 官方的一些优化建议 尽可能的使用最新版本的 Gradle 和 JVM,这是最简单直接的方式,Gradle 开发团队会持续的更新 Gradle 版本,来优化构建速度以及提供一些新的特性,而使用新版本的 JVM,是因为 Gradle 运行在 JVM 上,所以,如果新版本的 JVM 提升了性能,同样也会让 Gradle 跑的更快。 2、Parallel execution,并行执行 G...转载 2018-12-28 17:34:58 · 205 阅读 · 0 评论