banner
按时间整理的学习笔记。

文章归档

Scroll down
Android开发

Android 性能优化不是上线前临时跑一次 Profiler,也不是看到卡顿后盲目改几行代码。真正稳定的做法,是把性能问题拆成可观测、可复现、可验证的工程流程:先知道慢在哪里,再判断为什么慢,最后用指标证明优化确实有效。

一、为什么 Compose 更强调状态

传统 View 体系里,页面通常是“找到控件,然后修改控件属性”:

1
2
textView.text = user.name
progressBar.visibility = View.GONE

Compose 的思路更接近“状态是什么,界面就长什么样”。当状态变化时,相关 Composable 会重新执行,生成新的 UI 描述。

一、什么是离线优先

离线优先不是“没有网络时给个错误页”,而是应用的核心流程尽量先依赖本地数据,网络只负责同步。

用户打开页面时,优先读取本地数据库;网络请求成功后再更新本地数据,并通过响应式数据流刷新界面。

前言

当我们进行横屏切换后就会重新运行onCreate 方法 ,重新new Fragment 就会产生两个相似的布局 相互覆盖。使用configChanges=”orientation|keyboardHidden|screenSize” 就可以不再产生相似布局,解决问题

前言

应用的冷启动总是无法避免的,也就是说冷启动时用户总要经历一个启动等待时间。开发人员唯一能做的就是在 Application 和 第一个 Activity 中,减少 onCreate() 方法的工作量,从而缩短冷启动的时间。像应用中嵌入的一些第三方 SDK,都建议在 Application 中做一些初始化工作,开发人员不妨采取懒加载的形式移除这部分代码,而在真正需要用到第三方 SDK 时再进行初始化。

前言

SignalR的版本问题

服务端的版本和客户端的版本一定要匹配

Android关于阴影的实现方式

1.使用.9文件

优点:个人认为最好的实现方式 实现方便 节省内存和渲染时间,使用方便
缺点:每个阴影都用.9文件会增加报的体积大小而且不如自己写的好维护 总不能每次换点阴影都去找UI
Android 9-patch shadow generator

创建button_round_selector.xml

在项目的build.gradle中加上

1
2
3
4
5
6
7
8
allprojects {
repositories {
flatDir {
dirs 'libs','../你的library/libs'
}

}
}

在color.xml文件中设置颜色的不透明度

1237
请输入关键词进行搜索