生活中存在同时使用两个微信的情况,一个工作一个生活,这时希望同时在电脑上登录两个账号。如何做到呢?步骤如下:右键单击“微信”图标,选择属性,目标框内的路径就是微信安装路径,复制目标框里的内容。将如下命令复制到TXT文件保存,再将该文件重命名,主要是将后缀名改成“.bat”文件。@echooffstart"""C:\ProgramFiles(x86)\Tencent\WeChat\WeChat.exe"start"""C:\ProgramFiles(x86)\Tencent\WeChat\WeChat.exe"exit✍注意:start后面有一个空格,双引号后面也有一个空格,这两个个空格不能省,
需求背景继上篇《Flutter下载篇-壹|flutter_download_manager源码解析》中详细介绍了flutter_download_manager用法和原理。在优缺点中提到,该库纯Dart实现,支持下载管理,暂停,恢复,取消和断点续传。其中有个缺点是网络库与dio强耦合,不支持自定义网络库扩展。有人会说:dio这么牛逼,直接用不就好了,为啥还要支持别的网络库,没事别瞎折腾。我想说:世界不只有一种声音,那不然多无趣。第三方库对应用本身来说是黑盒,开发者一般疏于关注其功能改动对应用影响除非产生重大事故,这种不可控的情况应谨慎。设计上遵循DIP原则,抽象不要依赖具体实现细节,具体细节依
前言内容类应用中图片或文件下载,一般应用中应用更新和升级,这些都是经典的下载场景。下载是项目中基础且重要的模块。从代码逻辑复用性和人力成本考虑,一直想实现一个纯Dart实现的下载库,作为技术储备。最近发现了一个纯Dart实现的下载库flutter_download_manager,相对来说各方面还算满足需求,支持断点续传,暂停,取消等我比较看重的功能。但是有些地方还需要改进。话不多说,首先简单介绍下这个库吧。flutter_download_manager简介地址:https://github.com/nabil6391/flutter_download_manager版本:0.5.4特点:纯
本文内容主要翻译自issue中国外大佬对防抖与节流的解释,后面补充了自己的理解和总结。什么是防抖与节流防抖和节流是处理“过于频繁”发生的事情的常用技术。想象一下,你和朋友见面,朋友正在给你讲一个故事,但他们说话时很难停下来。假设您想在可能的情况下不打断他们满足他们讲故事的兴致,同时还要回应他们所说的话。(我知道这可能有点做作,但请耐心等待!)假设你们永远不能同时说话。你有几个策略:同步你可以在他们说完每句话时做出回应:如果您的回复很短,这可能没问题。但是,如果您的回答较长,这可能会使他们很难讲完这个故事。所以这个策略不是很好。防抖(Debounced)你可以等他们停止说话。例如,如果他们停顿的
本文翻译自:CompositioninFlutter&Dart在Flutter&Dart中使用组合创建模块化应用程序。什么是组合?在dictionary.com中composition的定义为:将部分或者元素组合成一个整体的行为。简单说,组合就像堆乐高积木,我们可以将积木组合成一个结构。在FP中,我们定义了一个简单的通用函数,该函数可以通过组合构成一个复杂的函数,一个函数的输出是另外一个函数的输入,依此类推。输入从一个函数传递到另外一个函数最后返回结果。因此,组合可以认为是数据流动的管道。组合的数字符号是f.g。f(g(x))它从里向外执行。首先x初始化。将x作为参数传递给g,g(x)被初始化
前言最近群里遇到获取Route名为空的问题,当时没在意。。。直到自己在监控页面启动耗时,需要确定当前页面是哪个从而方便标记它加载的耗时时,遇到同样route.settings.name为空问题,模拟场景如下:在main.dart页面中点击+按钮跳转到TestPage2页面。MaterialApp中设置路由守卫并在路由守卫中打印route名。main.dartlaunch_observer.dartTestPage2.dart路由守卫中打印结果如下:可以看出应用启动进入main打印是正确的,之前没有页面,进入时候打印route=/进入TestPage2时,previewousRoute的name
前言做线上帧率监控上报时,少不了需要弄明白如何通过代码获取实时帧率的需求,这篇文章通过图解配合Flutter性能调试工具的方式一步步通俗易懂地让你明白获取帧率的基础知识,以后再也不愁看不懂调试工具上指标了。说说ListFlutter中通过如下方式监听帧率,addTimingsCallback涉及到帧调度知识,感兴趣可以看看这篇Flutter帧调度过程。这里重点说说List。List从哪里来addTimingsCallback定义:List可简单理解成:引擎层到框架层的帧数据流。List何时有值List则表示一系列实时帧信息。如点击屏幕按钮,引擎将传递系列帧信息到框架层:“框架层,屏幕发送了变化
有时候会想,如果chatGPT是人,它会是一个怎样的人呢?下面是我的推测过程。首先,她应该是女人会推测而不会计算你问它:3457*43216=,它回答149261912(这是错的。正确结果是149397712)。之所以结果的2是对的,仅仅因为它读了太多的文字资料以后,隐约感觉到7结尾的文字,乘号,6结尾的文字,和2结尾的文字比较「押韵」从语感上比较像一首诗。所以它就学会了这样的文字,而不是学会了计算。感性而不理性有没有觉得,当自己跟老婆吵架时,你讲什么正确的道理都是徒劳,她不在乎对错而在于你有没有顾及她的感受。这印证《男人来自火星,女人来自金星》中说到的一个观点:男人和女人在思维理解上有本质的
生活中存在同时使用两个微信的情况,一个工作一个生活,这时希望同时在电脑上登录两个账号。如何做到呢?步骤如下:右键单击“微信”图标,选择属性,目标框内的路径就是微信安装路径,复制目标框里的内容。将如下命令复制到TXT文件保存,再将该文件重命名,主要是将后缀名改成“.bat”文件。@echooffstart"""C:\ProgramFiles(x86)\Tencent\WeChat\WeChat.exe"start"""C:\ProgramFiles(x86)\Tencent\WeChat\WeChat.exe"exit✍注意:start后面有一个空格,双引号后面也有一个空格,这两个个空格不能省,
需求背景继上篇《Flutter下载篇-壹|flutter_download_manager源码解析》中详细介绍了flutter_download_manager用法和原理。在优缺点中提到,该库纯Dart实现,支持下载管理,暂停,恢复,取消和断点续传。其中有个缺点是网络库与dio强耦合,不支持自定义网络库扩展。有人会说:dio这么牛逼,直接用不就好了,为啥还要支持别的网络库,没事别瞎折腾。我想说:世界不只有一种声音,那不然多无趣。第三方库对应用本身来说是黑盒,开发者一般疏于关注其功能改动对应用影响除非产生重大事故,这种不可控的情况应谨慎。设计上遵循DIP原则,抽象不要依赖具体实现细节,具体细节依