- Android: ListView BaseAdapter
weixin_30621959
移动开发java数据结构与算法
前言话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方
- Android进阶之性能优化
拨云见日aaa
一、性能优化分类布局优化绘制优化内存泄漏优化响应速度优化ListView优化Bitmap优化线程优化二、布局优化尽量减少布局的嵌套解决办法:多嵌套的情况下可以使用RelativeLayout布局层级相同的情况下使用LinearLayout,它比RelativeLayout更高效使用和标签以及参考:Android布局优化之标签include,viewstub,merge三、绘制优化避免在onDraw
- 「十六天计划」第十五天
TheSkyCloud
@2.201.复兴动画制作,视图动画,图片动画。2.异步任务显示列表。3.图像旋转显示扫描。4.ListView优化5.存储过程,存储在手机。
- 日常小工具
MengkZhang
shape绘制圆角隐藏电话号码的中间四位的正则表达式Stringphone="18306812696";Stringphone_s=phone.replaceAll("(\\d{3})\\d{4}(\\d{4})","$1****$2");Log.e("===z",phone_s);//183****2696ListView优化ListView每次滚动都会调用getView方法,所以优化getVi
- ListView优化
majorty
//1,复用convertView//2,对findViewById次数的优化,使用ViewHolder//3,将ViewHolder定义成静态,不会去创建多个对象//4,listView如果有多个条目的时候,可以做分页算法,每一次加载20条,逆序返回
- Android——ListView优化
weixin_34013044
移动开发ui数据库
1、ListView基本概念列表显示需要三个元素:ListView:用来展示列表的View。适配器:用来把数据映射到ListView上数据:具体的将被映射的字符串,图片或基本组件适配器类型分为三种:ArrayAdapter,SimpleAdapter和SimpleCursorAdapter。1.1、ArrayAdapterArrayAdapter是BaseAdapter的派生类,在BaseAdap
- Flutter ListView使用
史大拿
Flutterflutterlistviewdartlistview优化单选多选全选
Flutter小知识:ListView使用ListView参数介绍ScrollController的使用ListTileListView全选ListView多选ListView单选ListView优化灵魂烈焰中死神降临,生命不断流逝,枯萎,只求不要带走那对你最后的一丝思念。——沙漠死神先来看看今天的最终效果吧:效果图(1.1):咋们先来学习ListView,若果你对ListView比较熟悉,直接跳
- ListView和RecyclerView的区别
摸鱼小能手啊
ListView和RecyclerView的区别:1、优化ListView优化需要自定义ViewHolder和判断convertView是否为null。而RecyclerView是存在规定好的ViewHolder。2、布局不同对于ListView,只能在垂直的方向滚动。而对于RecyclerView,他里面的LayoutManager中制定了一套可以扩展的布局排列接口,所以我们可以重写Layout
- Flutter Sliver滚动组件
xiangxiongfly915
FlutterFlutterSliver
文章目录FlutterSliver滚动组件SliverList&SliverGridSliverAppBarSliverPersistentHeaderSliverToBoxAdapterCustomScrollView&NestedScrollViewNestedScrollView+SliverAppBar+ListView优化联动效果FlutterSliver滚动组件SliverList&S
- Android 学习笔记--android——listview总结
android
总结listview:1、创建-->高度match2、创建-->行布局3、找到listview控件4、初始化数据5、创建适配器对象baseAdaptergetview:决定了显示的样式以及内容查找当前布局对象里面的控件行布局对象.findviewById()getCount:决定listview的显示行数6、设置适配器listview优化:1、用完全消失的布局对象去替代即将出现的那个布局对象复用行
- Flutter ListView优化(滑动不加载,停止滑动加载)
阿 T
Flutter骚操作Flutter基础教程flutter面试android
FlutterListView加载图片优化(滑动不加载,停止滑动加载)前言:为了更好的减小网络的带宽,使得列表更加流畅,我们需要了解懒加载,也称延迟加载。面试真题:flutter如何实现懒加载?本章,我们会实现wechat朋友圈的优化功能,即当页面在滑动时不加载图片,在界面停止滑动时加载图片。效果图:滑动时:停止滑动开始加载:1.了解widget通知监听:NotificationListenerN
- ListView的优化
mecury
ListView的优化问题可以说是面试的必考题。我之前看过一遍视频Android必学-异步加载,感觉里面讲解的知识都是ListView优化常用的,这里我就通过里面的示例来做一个总结。本篇准备通过这个示例来谈一谈ListView的优化,通过分析在写code的过程中遇到的问题,来谈一下解决办法。示例是这样的:由http://www.imooc.com/api/teacher?type=4&num=30
- 百度面试总结
Sophia_dd35
1.怎么判断链表有回路2.Map和Set区别3.equals和==区别4.HashMap源码5.IntentService和Service区别6.context数量7.怎么通过官网链接打开本地app8.怎么使用两个栈实现链表的效果9.BitMap优化10.自定义实现drawableLeft效果11.mvp12.手写单例13.activity启动流程(非生命周期)14.ListView优化15.Li
- Android常见基础面试题汇总
kiss_m_2020
php
1handlermessageloopmessageQueue2fragment生命周期3ContentProvider4WebView5BroadCastreciver广播6通讯录的获取ContentProviderContentReciver获取用户的头像,手机号码等。7ListVIew图片的错位8ListView优化:convertviewview的重用9service服务10AsyncTa
- AutoCompleteTextView、ListView优化、Dialog等高级组件模拟练习
qq_39745566
模拟要求:1、创建一个QQ的登陆界面,使用AutoCompleteTextView作用户账号;2、登陆成功后自动跳转到B界面,通过网址http://www.qubaobei.com/ios/cf/dish_list.php?stage_id=1&limit=20&page=1使用GSON解析网络数据将其展示到ListView上;3、点击展示出来的数据会自动弹出Dialog对话框;QQ登陆界面参考图
- 简述APP性能优化
特大碗牛肉面
ListView优化1.为了保证ListView滑动的流畅性,getView()中要做尽量少的事情,不要有耗时的操作。特别是滑动的时候不要加载图片,停下来再加载;2.复用convertView,使用setTag()和getTag,减少findViewById()的次数,因为findViewById是一个相对比较耗性能的操作;3.使用RecycleView代替。ListView每次更新数据都要not
- ListView优化机制及滑动时数据时出现的数据错乱重复问题
傻也不懂
Android技术
该篇内容主要是记录我在实际开发中遇到的ListView滑动时数据错乱的几种情况,以及解决方法。在进行ListView滑动时数据错乱问题讨论之前会对ListView所谓的进行说明。文章末尾分享了几篇文章,增强对ListView使用以及Adapter优化的理解,其中有对adapter优化方法的耗时测试的介绍。GettingStart遇到过的ListView在滑动时数据错乱的几种情况:Listview滑
- 解决RecyclerView无法onItemClick问题
jwzhangjie
android
对于RecyclerView的使用,大家可以查看将替代ListView的RecyclerView的使用(一),单单从代码结构来说RecyclerView确实比ListView优化了很多,也简化了我们编写代码量,但是有一个问题会导致开发者不会去用它,更比说替换ListView了,我不知道使用过RecyclerView的人有没有进一步查看,RecyclerView没有提供Item的点击事件,我们使用列
- ListView优化之图片的三级缓存(LruCache)
wxx_csdn
Android开发笔记
最近写了一个图片的三级缓存,当然现在有很多的开源库都有这个功能,比如xUtils3等,那么我们为什么要自己去写呢,第一个是进一步熟悉它的原理,第二个是使用LruCache最近最少算法,LruCache的好处是可以指定你在手机缓存空间使用多大,在缓存的文件大小超出了你指定的大小,系统会自动回收最少使用的对象。LruCache声明的是一个强引用,它是不会被系统回收的。图片的三级缓存,顾名思义有三级按照
- ListView优化机制及滑动时数据时出现的数据错乱重复问题
远经潮
android开发listview优化机制listview错乱
该篇内容主要是记录我在实际开发中遇到的ListView滑动时数据错乱的几种情况,以及解决方法。在进行ListView滑动时数据错乱问题讨论之前会对ListView所谓的进行说明。文章末尾分享了几篇文章,增强对ListView使用以及Adapter优化的理解,其中有对adapter优化方法的耗时测试的介绍。GettingStart遇到过的ListView在滑动时数据错乱的几种情况:Listview滑
- Android listview中CheckBox选中混乱的情况
weixin_30764771
最近在写Android界面时经常用到listview这个控件,个人认为其缺陷很多,比如快速滑动时,会出现加载缓慢,不能缓存加载过得数据,每次滑动时都要加载控件的ID,所以须有将listview优化,下面将讲讲我遇到的问题。在listview中加入CheckBox时,选中第一个,当往下滑动时,出现了下面没有选中的也被选中的情况,下面看看截图。我在第一张图中选中了第一个和第二个CheckBox,将其后
- ListView的优化。contentView的复用和ViewHolder的使用
沈夜大祭司
其他
BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方法可以参考链接的文章。BaseAdapter与其他Ad
- Android ListView优化思路12则
Bruce_Qi_
Android
1、ViewHolder模式,而且ViewHolder作为内部类使用时声明为static的2、异步加载:耗时的操作放在异步线程中如果在adapter中的某些操作需要耗费大量的时间,这个时候就要用到异步线程来进行异步就在数据。比如:现在要加载图片,此时我们需要根据url访问网络得到数据,然后将数据解析为Bitmap设置给View3、listView错位加载问题:判断url是否一致解决4、为图片设置缓
- Android ListView优化之getView频繁多次调用与ViewHolder工作原理
一个在编程道路上渐行渐远的咳
AndroidListViewAdapter
原文地址:AndroidListView优化之getView频繁多次调用与ViewHolder工作原理Android中我们经常会用到ListView,然后ListView到底是如何通过ViewHolder去优化的?常见的适配器中利用ViewHolder去优化ListView的代码@OverridepublicViewgetView(intposition,ViewconvertView,ViewG
- Android BaseAdapter使用及listview优化
fackquan
Android
publicclassPurchaseAdapterextendsBaseAdapter{privateLayoutInflaterinflater=null;privateList>mlist=null;privateHashMapmMap=null;publicPurchaseAdapter(Contextcontext,List>list){inflater=(LayoutInflater)
- Android杂谈--ListView之BaseAdapter的使用
weixin_34247032
前言话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方
- Android -- 重写BaseAdapter以及对ListView的优化
csid_502
背景对于ListView、GridView、Gallery、Spinner等等,它是它们的适配器,直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,BaseAdapter与其他Adapter有些不一样,其他的Adapter可以直接在其构造方法中进行数据的设置:SimpleAdapteradapt
- ListView优化之BaseAdapter使用小心得
tobeamaster
(初学者)当我们需要通过滚动屏幕来显示我们需要的item时候,如果一次次findViewById的话效率极低。这里BaseAdapter这个库可以解决这个问题。通过改写库里面getView()方法,可以实现旧item的缓存,以及再一次使用时候的调出。BaseAdaper类的介绍:BaseAdapter就是Android应用程序中经常用到的基础数据适配器,它实现了ListAdapter和Spin
- Android杂谈--ListView之BaseAdapter的使用
tianshuguang
Android学习笔记
话说开发用了各种Adapter之后感觉用的最舒服的还是BaseAdapter,尽管使用起来比其他适配器有些麻烦,但是使用它却能实现很多自己喜欢的列表布局,比如ListView、GridView、Gallery、Spinner等等。它是直接继承自接口类Adapter的,使用BaseAdapter时需要重写很多方法,其中最重要的当属getView,因为这会涉及到ListView优化等问题,其他的方法可
- BaseAdapter自定义适配器和ListView优化以及下拉刷新
2896405089
(1.BaseAdapter自定义适配器实现过程):重写视图区域:即重写BaseAdapter有四方要重写:publicintgetCount()数据域大小方法publicObjectgetItem(intarg0)返回每个Item的数据据publiclonggetItemId(intarg0)返回每个Item的IDViewgetView(intarg0,Viewarg1,ViewGrouparg
- mongodb3.03开启认证
21jhf
mongodb
下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下:
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略)
Windows下我做了一个bat文件,用来启动mongodb,命令行如下:
mongod --dbpath db\data --port 27017 --directoryperdb --logp
- 【Spark103】Task not serializable
bit1129
Serializable
Task not serializable是Spark开发过程最令人头疼的问题之一,这里记录下出现这个问题的两个实例,一个是自己遇到的,另一个是stackoverflow上看到。等有时间了再仔细探究出现Task not serialiazable的各种原因以及出现问题后如何快速定位问题的所在,至少目前阶段碰到此类问题,没有什么章法
1.
package spark.exampl
- 你所熟知的 LRU(最近最少使用)
dalan_123
java
关于LRU这个名词在很多地方或听说,或使用,接下来看下lru缓存回收的实现
1、大体的想法
a、查询出最近最晚使用的项
b、给最近的使用的项做标记
通过使用链表就可以完成这两个操作,关于最近最少使用的项只需要返回链表的尾部;标记最近使用的项,只需要将该项移除并放置到头部,那么难点就出现 你如何能够快速在链表定位对应的该项?
这时候多
- Javascript 跨域
周凡杨
JavaScriptjsonp跨域cross-domain
 
- linux下安装apache服务器
g21121
apache
安装apache
下载windows版本apache,下载地址:http://httpd.apache.org/download.cgi
1.windows下安装apache
Windows下安装apache比较简单,注意选择路径和端口即可,这里就不再赘述了。 2.linux下安装apache:
下载之后上传到linux的相关目录,这里指定为/home/apach
- FineReport的JS编辑框和URL地址栏语法简介
老A不折腾
finereportweb报表报表软件语法总结
JS编辑框:
1.FineReport的js。
作为一款BS产品,browser端的JavaScript是必不可少的。
FineReport中的js是已经调用了finereport.js的。
大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的fun
- 根据STATUS信息对MySQL进行优化
墙头上一根草
status
mysql 查看当前正在执行的操作,即正在执行的sql语句的方法为:
show processlist 命令
mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一、慢查询mysql> show variab
- 我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名
aijuans
Spring 3
本文介绍如何给Spring的Bean配置文件的Bean定义别名?
原始的
<bean id="business" class="onlyfun.caterpillar.device.Business">
<property name="writer">
<ref b
- 高性能mysql 之 性能剖析
annan211
性能mysqlmysql 性能剖析剖析
1 定义性能优化
mysql服务器性能,此处定义为 响应时间。
在解释性能优化之前,先来消除一个误解,很多人认为,性能优化就是降低cpu的利用率或者减少对资源的使用。
这是一个陷阱。
资源时用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度,保持cpu忙绿,这是必要的。很多时候发现
编译进了新版本的InnoDB之后,cpu利用率上升的很厉害,这并不
- 主外键和索引唯一性约束
百合不是茶
索引唯一性约束主外键约束联机删除
目标;第一步;创建两张表 用户表和文章表
第二步;发表文章
1,建表;
---用户表 BlogUsers
--userID唯一的
--userName
--pwd
--sex
create
- 线程的调度
bijian1013
java多线程thread线程的调度java多线程
1. Java提供一个线程调度程序来监控程序中启动后进入可运行状态的所有线程。线程调度程序按照线程的优先级决定应调度哪些线程来执行。
2. 多数线程的调度是抢占式的(即我想中断程序运行就中断,不需要和将被中断的程序协商)
a) 
- 查看日志常用命令
bijian1013
linux命令unix
一.日志查找方法,可以用通配符查某台主机上的所有服务器grep "关键字" /wls/applogs/custom-*/error.log
二.查看日志常用命令1.grep '关键字' error.log:在error.log中搜索'关键字'2.grep -C10 '关键字' error.log:显示关键字前后10行记录3.grep '关键字' error.l
- 【持久化框架MyBatis3一】MyBatis版HelloWorld
bit1129
helloworld
MyBatis这个系列的文章,主要参考《Java Persistence with MyBatis 3》。
样例数据
本文以MySQL数据库为例,建立一个STUDENTS表,插入两条数据,然后进行单表的增删改查
CREATE TABLE STUDENTS
(
stud_id int(11) NOT NULL AUTO_INCREMENT,
- 【Hadoop十五】Hadoop Counter
bit1129
hadoop
1. 只有Map任务的Map Reduce Job
File System Counters
FILE: Number of bytes read=3629530
FILE: Number of bytes written=98312
FILE: Number of read operations=0
FILE: Number of lar
- 解决Tomcat数据连接池无法释放
ronin47
tomcat 连接池 优化
近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况。前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Reload一下就好了,不过只是治标而已,因为大概几个小时之后又会 再次出现无法登录的情况。
今天上午,开发人员小毛又找到我,要我协助将这个问题根治一下,拖太久用户难保不投诉。
简单分析了一
- java-75-二叉树两结点的最低共同父结点
bylijinnan
java
import java.util.LinkedList;
import java.util.List;
import ljn.help.*;
public class BTreeLowestParentOfTwoNodes {
public static void main(String[] args) {
/*
* node data is stored in
- 行业垂直搜索引擎网页抓取项目
carlwu
LuceneNutchHeritrixSolr
公司有一个搜索引擎项目,希望各路高人有空来帮忙指导,谢谢!
这是详细需求:
(1) 通过提供的网站地址(大概100-200个网站),网页抓取程序能不断抓取网页和其它类型的文件(如Excel、PDF、Word、ppt及zip类型),并且程序能够根据事先提供的规则,过滤掉不相干的下载内容。
(2) 程序能够搜索这些抓取的内容,并能对这些抓取文件按照油田名进行分类,然后放到服务器不同的目录中。
- [通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费
comsci
资源
降低通讯服务资费,就意味着有更多的用户进入,就意味着通讯服务提供商要接待和服务更多的用户,在总体运维成本没有由于技术升级而大幅下降的情况下,这种降低资费的行为将导致每个用户的平均带宽不断下降,而享受到的服务质量也在下降,这对用户和服务商都是不利的。。。。。。。。
&nbs
- Java时区转换及时间格式
Cwind
java
本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。
问题描述:
向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,GMT+8:00),而身处东四区的用户想要查询当天的销售记录。则需把东四区的“今天”这个时间范围转换为服务器所在时区的时间范围。
- readonly,只读,不可用
dashuaifu
jsjspdisablereadOnlyreadOnly
readOnly 和 readonly 不同,在做js开发时一定要注意函数大小写和jsp黄线的警告!!!我就经历过这么一件事:
使用readOnly在某些浏览器或同一浏览器不同版本有的可以实现“只读”功能,有的就不行,而且函数readOnly有黄线警告!!!就这样被折磨了不短时间!!!(期间使用过disable函数,但是发现disable函数之后后台接收不到前台的的数据!!!)
- LABjs、RequireJS、SeaJS 介绍
dcj3sjt126com
jsWeb
LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更
- [应用结构]入口脚本
dcj3sjt126com
PHPyii2
入口脚本
入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。终端用户的请求通过入口脚本实例化应用并将将请求转发到应用。
Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称。
控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文
- haoop shell命令
eksliang
hadoophadoop shell
cat
chgrp
chmod
chown
copyFromLocal
copyToLocal
cp
du
dus
expunge
get
getmerge
ls
lsr
mkdir
movefromLocal
mv
put
rm
rmr
setrep
stat
tail
test
text
- MultiStateView不同的状态下显示不同的界面
gundumw100
android
只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。
PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。
<com.kennyc.view.MultiStateView xmlns:android=&qu
- jQuery实现页面内锚点平滑跳转
ini
JavaScripthtmljqueryhtml5css
平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以设置滚动速度,又可以在 url 链接上没有“小尾巴”。
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/37.htmHTML文件代码:
&
- kafka offset迁移
kane_xie
kafka
在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。
到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。
从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适
- android > 搭建 cordova 环境
mft8899
android
1 , 安装 node.js
http://nodejs.org
node -v 查看版本
2, 安装 npm
可以先从 https://github.com/isaacs/npm/tags 下载 源码 解压到
- java封装的比较器,比较是否全相同,获取不同字段名字
qifeifei
非常实用的java比较器,贴上代码:
import java.util.HashSet;
import java.util.List;
import java.util.Set;
import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;
i
- 记录一些函数用法
.Aky.
位运算PHP数据库函数IP
高手们照旧忽略。
想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧)
当然用到了ip2long()函数把字符串转为整型数
- sublime text 3 rust
wudixiaotie
Sublime Text
1.sublime text 3 => install package => Rust
2.cd ~/.config/sublime-text-3/Packages
3.mkdir rust
4.git clone https://github.com/sp0/rust-style
5.cd rust-style
6.cargo build --release
7.ctrl