做网站一般要了解哪些重庆妇科医院排名最好的医院

news/2025/10/5 9:11:30/文章来源:
做网站一般要了解哪些,重庆妇科医院排名最好的医院,刷网站关键词工具,网页美工设计教学android提高UI的流畅度Android中所有的界面绘制工作都是在UI线程中进行的#xff0c;提高UI流畅度的最核心根本在于释放UI线程。即:不在主线程中做耗时的操作。很多人都知道#xff0c;耗时的操作要放到子线程中去做#xff0c;比如访问网络#xff0c;比如读写sd卡。像这类…android提高UI的流畅度Android中所有的界面绘制工作都是在UI线程中进行的提高UI流畅度的最核心根本在于释放UI线程。即:不在主线程中做耗时的操作。很多人都知道耗时的操作要放到子线程中去做比如访问网络比如读写sd卡。像这类操作大家都会很自然的想到使用子线程来完成耗时的操作等操作结束之后再通过Handler通知主线程进行界面的更新。这是非常正确的方法。但是有一类方法它必须得运行在在UI线程中就是布局文件的加载。如果这类方法花的时间太多了也是会对流畅度产生很大的影响。今天我们就来讲讲布局文件的优化。加载布局文件是必须在UI线程中完成的。我们通常是在onCreate方法中直调用setContentView传入一个布局文件的id值或者是通过LayoutInflater来将某一个布局文件转化成View对象。其实这两种方式的本质都是一样的都是将xml文件转换成View对象。我们现在要做的事就是如何让xml文件转换成View对象所花的时间最少。做到了这点就可以很大程度的提高UI的流畅度。1、优化布局, 减少布局的嵌套层级** a、使用drawableXXX属性**image.png如果要实现这样一个效果布局文件可以这样写优化后直接一个TextView就搞定不需要在外面多一层LinearLayout** b、多使用RelativeLayout少使用LinearLayout**image.png如果这样的布局使用LinearLayout来做的话那么会是以下这个效果image.png这样就莫名其妙的多出了好多个LinearLayout.这样过多的LinearLayout嵌套LinearLayout会造成UI加载的非常慢。这样的布局完全可以使用一个RelativeLayout来完成里面的子元素根据相对于其他控件的位置即可确定。嵌套使用LinearLayout很容易会导致视图层级过深。如果使用layout_weight这个参数不断的进行嵌套有可能会让各个子View付出计算两次的昂贵代价优化后代码....** c、使用merge标签**使用merge标签也是能够减少一些布局的层次。merge标签经常会和include标签相联系。那么什么时候使用merge标签呢下面举例子说明。............而include_view_layout.xml 的代码如下我们看到Button的父控件是LinearLayout而include的父控件也是LinearLayout这样子的布局最终的结果是红色部分的LinearLayout完全是多余于是这时候我们就可以在include_view_layout.xml文件中使用merge标签了。如下这样在加载这个include标签的时候系统会忽略merge标签直接将merge标签内的元素添加到外层的LinearLayout去了达到减少层级的效果。2、延迟加载在开发某些功能时候有时候需要动态的根据条件来判断显示哪一个View不显示哪一个View。一般的做法是将所有的View都写在布局文件中去然后根据条件再来设置他们的可见度Visibility为GONE或者VISIBLE。这种做法逻辑简单便于理解。但是缺点就是那些不显示出来的View也占用了内存消耗了inflate的时间。因为一个View不论他的Visibility的值是什么它都会被inflate出来并占用内存空间。这时候其实就可以用到延迟加载的控件ViewStub了。ViewStub是一个非常轻量级的控件它占的资源非常小。注意是ViewStub这个对象所占的资源小但是你可以为ViewStub指定一个布局文件这个布局文件被inflate的时候占的空间有可能很大。默认的情况下ViewStub的所指定的布局文件是不被inflate的只有当你调用了ViewStub的inflate方法时ViewStub所指向的布局文件才会被inflate。所以ViewStub是一个延迟加载的控件。android:orientationverticalandroid:layout_widthfill_parentandroid:layout_heightfill_parentandroid:gravitycenter_horizontalandroid:idid/viewstub1android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layoutlayout/viewstub_layout1/android:idid/viewstub2android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layoutlayout/viewstub_layout2/在java代码中使用ViewStub stub1 (ViewStub) findViewById(R.id.viewstub1);ViewStub stub2 (ViewStub) findViewById(R.id.viewstub2);if(isLogin()) {stub1.inflate();} else {stub2.inflate();}这样就不会有浪费资源空间去加载没必要的控件了。、减少inflate的次数这个的典型例子就是ListView的优化。我们说ListView的优化实际上说的就是Adapter中getView方法的优化我们来看一个没有优化过的getView方法。Overridepublic View getView(int position, View convertView, ViewGroup parent) {MyItem product list.get(position);convertView getLayoutInflater().inflate(R.layout.item_record, null);TextView tvDate (TextView) convertView.findViewById(R.id.tvDate);TextView tvYongtu (TextView) convertView.findViewById(R.id.tvYongtu);TextView tvMoney (TextView) convertView.findViewById(R.id.tvMoney);tvDate.setText(product.detaildate);tvYongtu.setText(product.auditmessage);tvMoney.setText(product.detailmoney);return convertView;}我们知道ListView中的每一个Item被显示出来都要调用getView方法这个Item如果滑出屏幕又滑回来重新显示在界面上的时候又会再次调用getView方法。所以getView是不断的被调用的。而上面的代码只要调用了getView方法就一定会去inflate一个布局文件真简直就是不敢想象的非常耗时的操作。于是利用系统给我们的缓存convertView进行判断可以大大减少inflate的次数。其实findViewById也是一个很耗时的操作我们可以利用ViewHolder来减少findViewById的次数。优化后的代码如下Overridepublic View getView(int position, View convertView, ViewGroup parent) {MyItem product list.get(position);ViewHolder holder;if (convertView null) {convertView getLayoutInflater().inflate(R.layout.item_record, null);holder new ViewHolder();holder.tvDate (TextView) convertView.findViewById(R.id.tvDate);holder.tvYongtu (TextView) convertView.findViewById(R.id.tvYongtu);holder.tvMoney (TextView) convertView.findViewById(R.id.tvMoney);convertView.setTag(holder);} else {holder (ViewHolder) convertView.getTag();}holder.tvDate.setText(product.detaildate);holder.tvYongtu.setText(product.auditmessage);holder.tvMoney.setText(product.detailmoney);return convertView;}static class ViewHolder {TextView tvDate;TextView tvYongtu;TextView tvMoney;}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/928066.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成式AI改进极端多标签分类技术

本文介绍利用生成式AI改进极端多标签分类的新方法,通过层次化标签聚类解决长尾分布问题,提出XLGen-BCL和XLGen-MCG两种架构,在多个数据集上验证了聚类引导模型在整体性能和罕见标签分类上的优势。会议信息 EACL 202…

2025.10.5——1绿

普及+/提高 P2216 [HAOI2007] 理想的正方形 单调队列优化的类似悬线法的题。

NIO----JAVA - 教程

NIO----JAVA - 教程2025-10-05 09:08 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-fa…

【清晰教程】利用Git工具将本地项目push上传至GitHub仓库中 - 指南

【清晰教程】利用Git工具将本地项目push上传至GitHub仓库中 - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

建设工程敎育那个网站青岛网站建设官网

消息对话框 QMessageBox:消息对话框,用于向用户展示简单的信息,警告,错误或者询问对话框。 信息框 QMessageBox::information(nullptr,"标题","信息"); 警告框 QMessageBox::warning(nullptr,"标题&…

建设银行的网站用户名服务器的作用

编辑 ∑Gemini来源:国家自然科学基金委关于印发《国家自然科学基金项目科研不端行为调查处理办法》的通知国科金发诚〔2020〕96号各局(室)、科学部,机关党委,各直属单位:《国家自然科学基金项目科研不端行为…

题解:2025.10.信友队.智灵班选拔面试题目

2025.10.信友队.智灵班选拔面试题目题解 T1 题目描述 现在有25匹马赛跑,场地中有5个跑道(即一场比赛最多有5匹马参赛),赛马时你不能掐表,只能看到马的先后顺序,问至少比赛多少场能知道跑得最快的3匹马 错误思路1…

做义工旅行有哪些网站上海财务外包公司

Oracle提示错误消息ORA-28001: the password has expired,是由于Oracle11G的新特性所致, Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录。 Oracle公司是为了数…

电影网站网页设计手机微网站

1,检查是否有mysql残留文件查找出安装的mysql软件包和依赖包rpm -pa | grep mysql依次删除yum remove mysql-xxx-xxx-查找出所用的配置文件find / -name mysql依次删除rm -rf /var/lib/mysql2,删除MariaDB的文件,装MySQL的话会和MariaDB的文件…

如何用模板建站wordpress删除登录

题干 LCR 023. 相交链表 的头节点 headA 和 headB ,请找出并返回两个单链表相交的起始节点。如果两个链表没有交点,返回 null 。 图示两个链表在节点 c1 开始相交: 题目数据 保证 整个链式结构中不存在环。 注意,函数返回结果…

南昌网站建设资讯公司官网制作教程

编程题总结 题目一:输出无重复的3位数 题目描述 从{1,2,3,4,5,6,7,8,9}中随机挑选不重复的5个数字作为输入数组‘selectedDigits’,能组成多少个互不相同且无重复数字的3位数?请编写程》序,从小到大顺序,以数组形式输出这些3位…

三合一网站怎么建立东莞做网站微信巴巴

应用分发(App Distribution)或APP分发,通常指的是将移动应用程序(如iOS、Android或其他平台的应用)通过各种渠道提供给最终用户进行下载和安装的过程。这个过程涉及多个环节,包括应用开发、测试、发布、推广…

MX WEEK4

训练赛 A 今日未完成被 luogu P3225 创飞大学习。 B 今日未完成被 luogu P10953 创飞大学习。 C 今日未完成被 luogu P2272 创飞大学习。 D 今日未完成被 luogu P8867 创飞大学习。 E 今日未完成被 luogu P4126 创飞大…

实用指南:蓝桥杯_DS18B20温度传感器---新手入门级别超级详细解析

实用指南:蓝桥杯_DS18B20温度传感器---新手入门级别超级详细解析pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "…

实用指南:【25软考网工】第十章 网络规划与设计(1)综合布线

实用指南:【25软考网工】第十章 网络规划与设计(1)综合布线pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Con…

2025.10.4 刷题

2025.10.4 刷题1. P13270 【模板】最小表示法 换模版了,听说卡了 SA 正解是线性的 看题解里还有 log 的倍增哈希,学到了 正解暴力比较两个字符串第一位不同,这样劣的那个字符串,以其每一个字符起始的字符串都劣,同…

TDengine 运维——巡检工具(定期检查) - 指南

TDengine 运维——巡检工具(定期检查) - 指南pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", &…

[ABC398G] Not Only Tree Game

因为不存在奇环,所以显然构成一个二分图。 我们进行一些变量的定义:\(x\) 表示在满足添加了之后不改变图的联通性且不产生奇环的情况下,可以添加的变数。 \(ee\) 表示两侧都是偶数个节点的联通块的数量。 \(oo\) 表…

邯郸网站建设浩森宇特外贸网站建站n

代理模式是一种结构型设计模式,让开发者能够提供对象的替代品或其占位符。代理对象控制着对于原对象的访问,并允许在将请求提交给原对象前后进行一些处理。代理模式为原对象提供一种代理以控制对这个对象的访问,并由代理对象控制对原对象的引…