webp

react-native-fast-app 详解与使用之(四)屏幕适配

不问归期 提交于 2020-04-29 18:45:04
react-native-fast-app 是一款为React Native App快速开发提供基础服务的纯JS库( 支持 IOS & Android ),特别是在从0到1的项目搭建初期,至少可以为开发者减少30%的工作量。 react-native-fast-app 主要做了这些工作: 1. 对AsyncStorage进行封装,开发者只需几行代码即可实现一个持久化数据管理器。 2. 对fetch进行封装,使得开发者只需关注当前App的前后台交互逻辑和协议,定义好参数设置及解析逻辑即可。 3. 重新封装了RN的View、Text、Image、FlatList 使用得这些控件在适当的时候支持事件或支持icon与文本,能有效减少布局中的嵌套逻辑。 4. 通过设置一个屏幕参考尺寸,重置RFView、RFText、RFImage的尺寸,实现自动多屏适配 可能有人觉得,RN的适配一般不都是根据目标屏幕的尺寸对当前UI尺寸进行一定比例的缩放么,直接定义一个获取缩放比例的方法不就可以了么? 一千个人心中,有一千个哈姆雷特,也许我的封装思路能给你带来不一样的启发也未可知呢? UI多屏幕适配 RN平台默认的尺寸就是不带单位的,使用的是设备独立像素,但由于手机的尺寸也越来越多,比如说相同尺寸,像素密不同结果导致UI的物理尺寸也不同,所以通常来说,我们们需要根据屏幕的尺寸对UI的尺寸进行一定比例的缩放。

为什么视频网站的视频链接地址是blob?

两盒软妹~` 提交于 2020-04-29 12:33:07
自从HTML5提供了video标签,在网页中播放视频已经变成一个非常简单的事,只要一个video标签,src属性设置为视频的地址就完事了。由于src指向真实的视频网络地址,在早期一般网站资源文件不怎么通过referer设置防盗链,当我们拿到视频的地址后可以随意的下载或使用(每次放假回家,就会有亲戚找我帮忙从一些视频网站上下东西)。 目前的云存储服务商大部分都支持referer防盗链。其原理就是在访问资源时,请求头会带上发起请求的页面地址,判断其不存在(表示直接访问资源地址)或不在白名单内,即为盗链。 可是从某个时间开始我们打开调试工具去看各大视频网站的视频src会发现,它们统统变成了这样的形式。 拿b站的一个视频来看,红框中的视频地址,这个blob是个什么东西?。 其实这个Blob URL也不是什么新技术,国内外出来都有一阵子了,但是网上的相关的文章不多也不是很详细,今天就和大家一起分享学习一下。 Blob和ArrayBuffer 最早是数据库直接用Blob来存储二进制数据对象,这样就不用关注存储数据的格式了。在web领域,Blob对象表示一个只读原始数据的类文件对象,虽然是二进制原始数据但是类似文件的对象,因此可以像操作文件对象一样操作Blob对象。 ArrayBuffer对象用来表示通用的、固定长度的原始二进制数据缓冲区。我们可以通过new ArrayBuffer(length

C# FiddlerCore 抓取

人走茶凉 提交于 2020-04-28 20:46:13
原文: C# FiddlerCore 抓取 C# FiddlerCore 抓取 本文目的 情景介绍 添加引用 初始化FiddlerCore 实现事件处理 启动、停止 冷启动 彻底停止 热启动、停止 方式一:解绑事件处理函数 方式二:解除系统代理 终端设置 抓取本机请求 抓取非本机请求 保证目标终端与代理机处于同一网段 下载证书 安装证书 设置代理 真正开始抓取 待实现 项目合作 本文目的 记录FiddlerCore怎样实现以下功能: 抓取本机的请求响应 抓取本机局域网内其它设备的请求响应 情景介绍 用 C#调用FiddlerCore ,开发出软件,本软件可以抓取本机( 运行本软件的电脑 )上的http/https请求响应,可以抓取同一局域网内设备(如本机局域网ip为192.168.1.2,路由器ip为192.168.1.1,同一路由器下还连接了一部手机,其ip为192.168.1.3,那么,这个手机的http/https也是可以抓取的)。 添加引用 需要的库文件: BCMakeCert.dll CertMaker.dll FiddlerCore4.dll FiddlerCore4.pdb FiddlerCore4.xml using Fiddler ; 1 初始化FiddlerCore //https代理 Proxy oSecureEndpoint ; //主机名 string

Android App性能优化技能,看这篇就够了

允我心安 提交于 2020-04-26 11:28:27
一.何为App的性能 拿小车举例,大家知道什么是一辆小车的性能吗?同学甲说,是否省油、加速是否够快、开起来是否稳定、安全等等。 没错,那就是小车的性能。 那App的性能又是指什么呢?同学乙说,App启动是否够快,运行是否流畅,是否省电、省流量,安装包体积是否够小等等。 是的,这就是App的性能。 二.关注App性能,有什么用 我们知道,一辆小车性能越好,加速越快,跑的越稳,越省油。 App也一样,性能越好,运行更流畅、更稳定、更省流量、电量,包的体积也会更小,这能给用户带来优秀的体验,进而也会提升App的知名度。 既然App性能那么重要,那我们就要掌握App性能优化的技能了。 三.如何进行App性能优化 掌握App性能优化,是Android开发人员进阶中高级的必备技能。那如何进行App的性能优化呢? 我们可以从这几个方面入手:卡顿优化、内存优化、稳定性优化、耗电优化、安装包大小优化、数据库SQLite优化、网络优化。 接下来,我们逐一展开讲解。 1.卡顿优化 1.1卡顿场景 可分为四个大的方向: 1.1.1UI UI包括绘制和渲染。 1.1.2启动 启动可分为冷启动、热启动。 1.1.3跳转 跳转包括页面间跳转和前后台切换。 1.1.4响应 包括:点击、滑动、系统事件、按键。 1.2卡顿原因 可分为以下两方面原因: 1.2.1绘制任务太重 首先,我们要明白这样一个概念

【Flutter学习】Flutter工程目录介绍、资源管理、不同分辨率图片、添加依赖

断了今生、忘了曾经 提交于 2020-04-24 18:02:32
项目结构 - projectName -android //android的工程文件 -build //项目的构建输出文件 -ios //项目的ios工程文件 -lib //项目中的dart文件 -src //包含其他的源文件 -main.dart //自动生成的项目入口文件 -test //测试相关的文件 -assets -images//建议存放图片 -2.0x -3.0x xxxxx //图片可以直接放到images -fonts//建议存放字体 -pubspec.yaml //项目依赖配置文件 Flutter资源(assets)介绍 Flutter应用程序可以包含代码和 assets(有时称为资源)。asset是打包到程序安装包中的,可在运行时访问。常见类型的asset包括静态数据(例如JSON文件),配置文件,图标和图片(JPEG,WebP,GIF,动画WebP / GIF,PNG,BMP和WBMP) 指定Assets 资源需要在 pubspec.yaml中配置,配置方法: flutter: assets: - assets/my_icon.png - assets/background.png 如果使用了未声明的资源,会报错: 资源的实际路径可以是任意的。 Asset 变体(variant) 变体就是指在构建时,根据不同的场景,选择适应该场景的资源

使用了多年java,你是否知道你使用的JVM使用了什么垃圾回收器?

为君一笑 提交于 2020-04-24 02:12:49
如果知道JVM使用的垃圾回收器? 使用以下命令: java -XX:+PrintCommandLineFlags -version -XX:+UseParallelGC 代表当前虚拟机使用的垃圾回收器 如果你看过《深入理解Java虚拟机:JVM高级特性与最佳实践》的介绍: jdk1.7 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代) jdk1.8 默认垃圾收集器Parallel Scavenge(新生代)+Parallel Old(老年代) jdk1.9 默认垃圾收集器G1 在JVM中是+XX配置实现的搭配组合: UseSerialGC 表示 “Serial” + "Serial Old"组合 UseParNewGC 表示 “ParNew” + “Serial Old” UseConcMarkSweepGC 表示 “ParNew” + “CMS”. 组合,“CMS” 是针对旧生代使用最多的 UseParallelGC 表示 “Parallel Scavenge” + "Parallel Old"组合 UseParallelOldGC 表示 “Parallel Scavenge” + "Parallel Old"组合 在实践中使用UseConcMarkSweepGC 表示 “ParNew” + “CMS” 的组合是经常使用的

服务器太卡怎么回事

半世苍凉 提交于 2020-04-23 22:23:31
iis7远程桌面连接组件是从Windows 2000 Server开始由微软公司提供的,在WINDOWS 2000 SERVER中他不是默认安装的。 该组件一经推出受到了很多用户的拥护和喜好,所以在WINDOWSXP和2003中微软公司将该组件的启用方法进行了改革,我们通过简单的勾选就可以完成在XP和2003下远程桌面连接功能的开启。当然随着时代的进步,我们操作管理的模式也在不断的更新。为了更方便的我们管理我们的服务器,越来越多的人都会用到远程桌面管理连接服务器,让我们更方便跟简洁的用一台电脑来批量操作我们的VPS服务器,现在IIS7远程桌面管理这是我觉得比较好用的一款程序。 我们在使用远程桌面工具的时候难免会出现几个小问题,比如说服务器卡,,今天就为大家介绍并解决远程桌面服务器卡的问题 http://yczm.iis7.com/?dzhd 1.我们打开远程桌面添加 2.添加完进入服务器卡的话我们退出来选择设置 3.选择设置,速度设置,调整色深调到最低 来源: oschina 链接: https://my.oschina.net/u/4488537/blog/3470831

服务器为什么变卡

本秂侑毒 提交于 2020-04-23 18:32:20
iis7远程桌面连接组件是从Windows 2000 Server开始由微软公司提供的,在WINDOWS 2000 SERVER中他不是默认安装的。 该组件一经推出受到了很多用户的拥护和喜好,所以在WINDOWSXP和2003中微软公司将该组件的启用方法进行了改革,我们通过简单的勾选就可以完成在XP和2003下远程桌面连接功能的开启。当然随着时代的进步,我们操作管理的模式也在不断的更新。为了更方便的我们管理我们的服务器,越来越多的人都会用到远程桌面管理连接服务器,让我们更方便跟简洁的用一台电脑来批量操作我们的VPS服务器,现在IIS7远程桌面管理这是我觉得比较好用的一款程序。 我们在使用远程桌面工具的时候难免会出现几个小问题,比如说服务器卡,,今天就为大家介绍并解决远程桌面服务器卡的问题 http://yczm.iis7.com/?dzhd 1.我们打开远程桌面添加 2.添加完进入服务器卡的话我们退出来选择设置 3.选择设置,速度设置,调整色深调到最低 来源: oschina 链接: https://my.oschina.net/u/4488537/blog/3453069

算法-数值的整数次方的PHP实现

隐身守侯 提交于 2020-04-23 05:49:00
给定一个double类型的浮点数base和int类型的整数exponent。 求base的exponent次方。 思路: 1.指数的二进制表达10^6次方 可以表示10^110(二进制) 10^100 * 10^10 * 10^000=>10^4 * 10^2 2.移位运算 while (n!=0){ if ((n&1)==1) res*=curr; curr*=curr;// 翻倍 n>>=1;// 右移一位 } <?php function Power( $base , $n ){ $res = 1; $curr = $base ; $exponent ; if ( $n >0){ $exponent = $n ; } else if ( $n <0){ if ( $base ==0) return 0; $exponent = - $n ; } else {// n==0 return 1;// 0的0次方 } // $exponent 转成二进制,有多少位就循环多少次,curr就执行n+1次方,如果当前位是1的就结果相乘 while ( $exponent !=0){ if (( $exponent &1)==1) $res *= $curr ; $curr *= $curr ;// 翻倍 //var_dump( $curr ); $exponent >>=1;//

Android限定符

巧了我就是萌 提交于 2020-04-23 05:29:57
1、屏幕适配 现在最通用的就是分辨率限定符 选择一个分辨率作为基准分辨率 来源: oschina 链接: https://my.oschina.net/wfy94/blog/3302609