首页
学习
活动
专区
圈层
工具
发布
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    你应该知道的折叠屏手机适配

    折叠屏虽距离普及可能还有很长一段路,大多数公司还未将折叠屏列入适配的范围,但是提前研究下折叠屏的适配还是极好的。 折叠屏手机概况 华为Mate X ?...微软 Surfaceduo 最近新出,实际是双屏手机,暂无详细资料 ? 从目前推出的这几款折叠手机可以看出:折叠手机从折叠到展开,屏幕的变化类似于 iphone 到 ipad。 ?...折叠屏适配的本质 当老板下令说:“我们的产品要适配折叠屏”,不同的人会有不同的反应: 产品和设计 如何更好的利用空间? 如何展示才不会使页面显得空洞? 展开和折叠时分别怎么展示? 展开后如何过渡?...这表示适配的起点,是先按手机做然后适配台式机?还是先按台式机做然后适配手机? 使用哪种根据实际情况决定,无所谓好坏,对于折叠屏适配来说肯定是手机优先。 8.web字体vs系统字体 ?...目前来说”折“这个事件虽然没有,然是要识别用户是有有做折叠和展开动作,可以通过监听resize事件来代替。

    2.5K10

    【答疑释惑】如何知道电脑是32位还是64位

    之前在群里问为什么我的eclipe无法运行,其实就是他的系统是32位的,但是却下载了64位的eclipse。...我们还知道,64位系统如果安装64位的软件,相比使用32位的版本,一般情况下运行速度,效率上是会高些的。...所以,我们在平时安装软件的过程中如果自己的系统是64位的,那么就尽量安装对应的64位的版本的软件,如果没有对应64位版本软件,那么我们才应该安装32位的软件。...如果64位的系统却都使用32位的软件,那么64位的优势也根本发挥不出来。 那么如何知道自己的系统是64位的还是32位的呢?这里有几种办法: 使用systeminfo命令查看。...这样以后就不会迷糊,不知道运行的系统到底是64位还是32位了吧。

    1.3K30

    iOS支持展开折叠的弹出菜单(水平方向弹出菜单视图)

    2.水平方向弹出菜单视图的应用场景: 2.1、门店商品的支持的功能:向右横向展开视图(操作:下/上架、打印、编辑、同步网络)支持再次折叠隐藏视图 ?...2.2、网店商品目前只包含下架功能:展开折叠视图:(包含上/下架商品功能) ? 竖向弹出菜单视图 弹出菜单:会员模块的右上角的下拉菜单(竖向) ?...I、 支持展开折叠的弹出菜单的实现思路 1.1将弹出视图添加到keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) #define kWindow [UIApplication...,进行判断是展开还是隐藏 [self.viewModel.expandMenuSubject subscribeNext:^(id _Nullable x) { [weakSelf...expandMenu:x]; }]; 判断是展开弹出菜单,还是折叠 #pragma mark - ******** 判断是展开弹出菜单,还是折叠 - (void)expandMenu

    3.6K10

    知道CountDownLatch是做什么的,那你知道它的底层是如何实现的吗?

    一、概述 CountDownLatch是一个多线程控制工具,用来控制线程的等待。...值是合法值,那么则通过setState(count)方法,将count赋值给AQS中的state变量。...三、await()方法源码解析 从上面的演示示例中,我们已经看到,通过在主线程中调用countDownLatch.await()方法,使得主线程进入阻塞状态,那么其内部是如何实现的呢?...== -1】则直接返回true; 【如果节点的waitStatus > 0】说明是CANCELLED节点,那么清理该节点及所有相邻前置的CANCELLED节点,并返回false; 【如果节点的waitStatus...,则此时直接返回false; 如果倒计是没有结束,则继续往下执行,先将倒计时总数减1,如果等于0,则说明本次调用countDown()方法是倒计时的最后一次,那么应该可以触发后续的解除主线程阻塞的操作了

    63620

    知道CountDownLatch是做什么的,那你知道它的底层是如何实现的吗?

    一、概述CountDownLatch是一个多线程控制工具,用来控制线程的等待。...值是合法值,那么则通过setState(count)方法,将count赋值给AQS中的state变量。...图片三、await()方法源码解析从上面的演示示例中,我们已经看到,通过在主线程中调用countDownLatch.await()方法,使得主线程进入阻塞状态,那么其内部是如何实现的呢?...== -1】则直接返回true;【如果节点的waitStatus > 0】说明是CANCELLED节点,那么清理该节点及所有相邻前置的CANCELLED节点,并返回false;【如果节点的waitStatus...倒计时就已经结束了,则此时直接返回false;如果倒计是没有结束,则继续往下执行,先将倒计时总数减1,如果等于0,则说明本次调用countDown()方法是倒计时的最后一次,那么应该可以触发后续的解除主线程阻塞的操作了

    59020

    你知道Thread线程是如何运作的吗?

    那么start()背后究竟隐藏着什么样不可告人的秘密呢?是人性的扭曲?还是道德的沦丧?让我们一起点进start()。探寻start()背后的秘密。...就是说,当前进程中的所有线程都共享这一个ThreadLocal。那么,Looper.prepare()既然是个静态方法,Looper是如何确定现在应该和哪一个线程建立绑定关系的呢?...平时我们都使用new Handler()来在一个线程中创建Handler实例,但是它是如何知道自己应该处理那个线程的任务呢。下面就一起扒一扒Handler。...现在又产生一个疑问,MessageQueue的next()方法是如何阻塞住线程的呢?接下来,扒一扒这个幕后黑手MessageQueue。...这就是为什么Looper.loop()会在queue.next()处等待的原因。 那么,一条Message是如何添加到MessageQueue中呢?

    85820

    你知道 ping 命令是如何工作的吗?

    你知道ping命令是如何工作的吗? 我们用来测试一台机器与另一台机器的网络连通性一般会使用ping命令,那么你知道ping命令是如何工作的吗?ping命令是基于ICMP协议工作的。...如果是差错报文,那么数据部分由两个16位的unused部分和IP头、8字节的正文组成。 ICMP报文分类大家可以看华为的文档,我这里不在叙述:《什么是ICMP?ICMP如何工作?》...如果你搞过装修,你应该知道建材店之间组成的销售联盟,联盟派出去两拨人,一批是跑业务的,一批是做广告的,都穿着同样的广告衫,需要一个标识区分这两批人。...在「选项数据」 中,ping 还会存放发送请求的时间值,来计算往返时间,说明路程的长短。 五、差错报文 根据《什么是ICMP?ICMP如何工作?》...那么Traceroute怎么知道自己发送的UDP包到达目的主机呢? 思路也很骚啊!!! 它用不可能出现的值作为UDP的端口号,数据报达到目的主机,就会返回ICMP 差错报文,类型为端口不可达。

    84510

    你知道ping命令是如何工作的吗?

    你知道ping命令是如何工作的吗? 我们用来测试一台机器与另一台机器的网络连通性一般会使用ping命令,那么你知道ping命令是如何工作的吗?ping命令是基于ICMP协议工作的。...如果是差错报文,那么数据部分由两个16位的unused部分和IP头、8字节的正文组成。 ICMP报文分类大家可以看华为的文档,我这里不在叙述:什么是ICMP?ICMP如何工作?...如果你搞过装修,你应该知道建材店之间组成的销售联盟,联盟派出去两拨人,一批是跑业务的,一批是做广告的,都穿着同样的广告衫,需要一个标识区分这两批人。...在选项数据中,ping 还会存放发送请求的时间值,来计算往返时间,说明路程的长短。 五、差错报文 根据什么是ICMP?ICMP如何工作?...参考文献: [1] 趣谈网络协议 (geekbang.org) [2] 什么是ICMP?ICMP如何工作? - 华为 (huawei.com)

    1.1K30

    你知道.c是如何变成.exe的吗

    程序的执行环境 前言 今天我们要来探究的内容是一个或者多个源文件(.c)是如何变成一个可执行程序(.exe)的,博主将在Linux环境gcc编译器中进行分步演示,让你深入理解程序环境。...请看下图例子: 相信大家都知道这两个源文件组合运行起来能得出正确答案,那么它到底生成了几个.obj目标文件和.exe可执行程序呢?下面我们一起来观察一下目录。...,但可能由于其他原因我们观察到的可能不是完全一致,这里我们就不刨根挖底了,我们只需知道test.i里面的这些内容确实就是stdio.h中的就行了。...由此我们得出结论:实际编译器是不关心注释的,所以在预处理阶段是要被删除的;注释只是写给程序员或者其他人员看的,并不参与到程序运算当中。...那么回到上面那个问题,你知道为什么stdio.h文件的代码行数比test.i中代码数要多了吗 综上: 预处理过程实质上是处理“#”,将#include包含的头文件直接拷贝到.i文件当中; 将代码中没用的注释部分删除

    1.3K20

    如何识别文章是ChatGPT AI写的,还是人写的?

    可见的未来,公众号、知乎等各种媒体上将会充斥着AI写的文章。那么如何识别文章是ChatGPT(或者其它AI)写的还是仁写的?以下是我的一些体验。 1....市面上很多人工写的文章其实也带有这种特质,比如《数据分析如何落地》《如何快速搭建指标体系》《销售管理这样做》,在AI的加持下,未来此类文章将会更多。 4....规律 ---- 我问了ChatGPT一个问题:服装店如何布置陈列可以提升成交率?...比如我最近在关注RFID,AI可能知道很多RFID知识,但是他不知道我体验了某零售商的RFID收银服务,不知道我的个人感受如何,有什么样的想法。而这种结合个人经历的文章有着AI无法做到的深刻。...(目前的)AI不生产新的知识。 以上是我区分人工文章和AI文章的一点体悟,当然,只要文章对你有用,改变了你的行为,是不是人写的也不是那么重要。

    3.6K30

    如何判断一个图是稀疏的还是稠密的

    如何判断一个图是稀疏的还是稠密的     最近涉及了一些图的算法,发现用途蛮广,比如:物流配送,中文分词,甚至课程排列都可以用图来表示和计算。...无论哪种用途选择一个合适的图数据结构至关重要。     图有两种主要的表示方法:邻接矩阵和邻接表。     决定我们采用邻接矩阵还是采用邻接表来表示图,需要判断一个图是稀疏图还是稠密图。...邻接矩阵和邻接表表示图所需的存贮空间和算法时间度相差非常大,所以判断一个图是稀疏的还是稠密的非常重要。    ...判断标准如下:     假设一个图G=(V,E)有n个节点,图G的每个节点的出度是一个固定的常数:k。由于E=kV=O(V) ,所以我们把符合E=O(V) 条件的图称为稀疏图。    ...比如:一个图节点为16,节点的出度为4,那么f = 0.25。     据说:邻接表是表示图的标准方法,原因是稠密图在实际应用中并不多见。

    5.5K50

    iOS支持展开折叠的弹出菜单(水平方向弹出菜单视图) 【修订版】

    ,请关注公众号:iOS逆向 1.支持展开折叠的弹出菜单的实现思路: 1.1将弹出视图添加到keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) 1.2展示的时候,动画从右上角往左下脚延伸...I、 支持展开折叠的弹出菜单的实现思路 1.1将弹出视图添加到keyWindow,蒙版也添加到主窗口(主要原因是点击屏幕的空白处,需要隐藏弹出视图) #define kWindow [UIApplication...,进行判断是展开还是隐藏 [self.viewModel.expandMenuSubject subscribeNext:^(id _Nullable x) { [weakSelf...expandMenu:x]; }]; 判断是展开弹出菜单,还是折叠 #pragma mark - ******** 判断是展开弹出菜单,还是折叠 - (void)expandMenu...2.水平方向弹出菜单视图的应用场景: 2.1、门店商品的支持的功能: 向右横向展开视图(操作:下/上架、打印、编辑、同步网络)支持再次折叠隐藏视图 ?

    2.8K30

    Github带来的不止是开源,还有折叠的认知

    ▲截图来自于招聘网站 在这些眼花缭乱、层出不穷、天花乱坠的技术、框架给我们带来便利的背后,其实隐藏着一个“被折叠”的技术世界。 “折叠”是社会发展的底层逻辑 “折叠”的含义大家都知道。...不管是火车票、演唱会门票还是什么票,你从网上下载了一个自动抢票工具,其实里面除了“折叠”了自动抢票,可能还“折叠” 了数据自动上传到作者服务器的功能。...这些“被折叠”的东西如果你不清楚,那你就像是那只捡了芝麻丢了西瓜的小猴子。 三个破局的办法 即然“折叠”是对复杂性的封装,那么应对它的方式自然是往“展开”的思路来走。...但是我见过了太多程序员,遇到问题只会百度的。 先不论被广为吐槽的百度内容质量如何,就这单一的信息获取方式实在是对不起程序员这个岗位应有的价值。...对每个人来说,面对被高度折叠的社会,我们大致分布在四个阶段中,逐步前进。 第一个阶段,完全不知道自己所处的是一个“折叠”后的环境。

    60620

    BUG是前端的还是后端的

    再往高阶测试的路上,就是要对发现的bug进行快速反馈和修复回归校验。今天分享的就是如何高效反馈。 首先高效反馈的结果能够加快bug修复速度,从而高质高效完成本次测试任务。...当你发现一个页面数据展现为空时,你及时的查看查询数据接口,如何发现数据返回为空,那么说明后端问题可能性大直接反馈给后端研发,如果是数据返回正常,那么提交给前端,让前端辅助排查。...更厉害的测试,是既能发现根因,同时又给出了解决方案。这样的测试往往研发很愿意合作。 前后端的BUG都有什么特点呢?...; 对于后端接口返回控制前端交互的场景,只需要按照接口文档,排查接口返回的数据data相应的字段值来明确是后端没给交互字段和正确的字段值,还是后端接口已给双方约定的数据,只是前端没有正确处理交互。...如果接口数据问题,首先定位存储层是否有接口所需的数据,写接口要判断当前存储里面是否插入数据,如果没有插入数据就通过代码断点判断哪里阻塞hang住了;如果是读接口,必要的codereview可以定位数据源是第三方服务还是自身存储层

    1.2K20

    你知道Spring中BeanFactoryPostProcessors是如何执行的吗?

    那么我们看一下Spring是如何去回调BeanFactoryPostProcessors的呢?...,第一个集合就存放我们手动提供给Spring的后置处理器,注意这个手动,他并不是由Spring扫描得到的,而是我们自己设置进去的,当然这里是后话!...BeanDefinitionRegistryPostProcessor类型的,举个例子就像俄罗斯套娃一样,每一个里面都会进行一些注册,谁也不知道会进行套多少层,故而要进行一个死循环,只要有,就一直遍历寻找...通过上述,我们知道了一件事,只有PriorityOrdered类型的BeanFactoryPostProcessor被实例化了,然后放置到了集合中去!...的对象确实为Null不知道为什么 事实上它并不会进入到这里 //这个是扫描用户自己手动添加的一些BeanFactoryPostProcessors //事实上 我们很少会对这里进行更改

    1.3K20

    你知道 Java 类是如何被加载的吗?

    不过贸然的向别人解释双亲委派模型是不妥的,如果在不了解 JVM 的类加载机制的情况下,又如何能很好的理解“不同 ClassLoader 加载的类是互相隔离的”这句话呢?...所以为了理解双亲委派,最好的方式,就是先了解下 ClassLoader 的加载流程。 Java 类是如何被加载的 2.1:何时加载类 我们首先要清楚的是,Java 类何时会被加载?...虚拟机启动时会先加载设置的程序主类。 使用 JDK 1.7 的动态语言支持的时候。 其实要我说,最通俗易懂的答案就是:当运行过程中需要这个类的时候。 那么我们不妨就从如何加载类开始说起。...2.2:怎么加载类 利用 ClassLoader 加载类很简单,直接调用 ClassLoder 的 loadClass()方法即可,我相信大家都会,但是还是要举个例子: public class Test...,要知道,这个大小在Class 文件编译后就被确定了。

    1.3K20
    领券