首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何正确的在 Android 上使用协程 ?

第一类是 Medium 上热门文章的翻译,其实我也翻译过: 在 Android 上使用协程(一):Getting The Background 在 Android 上使用协程(二):Getting started...在 Android 上使用协程(三) :Real Work 说实话,这三篇文章的确加深了我对协程的理解。...在 Android 中,一般是不建议直接使用 GlobalScope 的。那么,在 Android 中应该如何正确使用协程呢?再细分一点,如何直接在 Activity 中使用呢?...协程在 Android 上的使用 GlobalScope 在一般的应用场景下,我们都希望可以异步进行耗时任务,比如网络请求,数据处理等等。当我们离开当前页面的时候,也希望可以取消正在进行的异步任务。...总结 以上简单的介绍了在 Android 中合理使用协程的一些方案,示例代码已上传至 Github。

2.8K30

【linux命令讲解大全】131.循环设备(loop)在Linux中的应用及使用方法

-d:卸除设备。 -e :启动加密编码。 -f:寻找第一个未使用的循环设备。 -o :设置数据偏移量,单位是字节。...loop设备介绍 在类UNIX系统中,loop设备是一种伪设备(pseudo-device),或者也可以说是仿真设备。它能使我们像块设备一样访问一个文件。...在使用之前,一个loop设备必须要和一个文件进行连接。这种结合方式给用户提供了一个替代块特殊文件的接口。因此,如果这个文件包含有一个完整的文件系统,那么这个文件就可以像一个磁盘设备一样被挂载起来。...至此,顺便可以再理解一下loop之含义:对于第一层文件系统,它直接安装在我们计算机的物理设备之上;而对于这种被挂载起来的镜像文件(它也包含有文件系统),它是建立在第一层文件系统之上,这样看来,它就像是在第一层文件系统之上再绕了一圈的文件系统...实例 创建空的磁盘镜像文件,这里创建一个1.44M的软盘: dd if=/dev/zero of=floppy.img bs=512 count=2880 使用losetup将磁盘镜像文件虚拟成块设备:

93210
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    移动端必备的H5问题及解决方案

    contain:视图端口按比例缩放,以适合显示内嵌的最大矩形。 cover:视图端口被缩放以填充设备显示。强烈建议使用 safe - area inset 变量,以确保重要内容不会出现在显示之外。...padding-top: var(safe-area-inset-bottom, 20px); } } safe-area-inset-top, safe-area-inset-right..., safe-area-inset-bottom, safe- area-inset-left safe-area-inset-*由四个定义了视口边缘内矩形的 top, right, bottom 和...,一定要判断 SDK 是否提供该方法 如果 Android 提供该方法,iOS 上调用就会出现一个方法调用失败等弹窗。...有些时候测试环境上没法复现这个 bug,测试环境和生产环境不一致,此时就需要紧急生产调试。 在 PC 端开发时,我们可以直接掉出控制台,使用浏览器提供的工具操作devtools或者查看日志。

    4.8K42

    吃透移动端 H5 与 Hybrid|实践踩坑12种问题汇总

    当手指从触摸屏上移开,滚动会立即停止 */ 解决方案 1.在滚动容器上增加滚动 touch 方法 将-webkit-overflow-scrolling 值设置为 touch .wrapper {...contain:视图端口按比例缩放,以适合显示内嵌的最大矩形。 cover:视图端口被缩放以填充设备显示。强烈建议使用 safe area inset 变量,以确保重要内容不会出现在显示之外。..., safe-area-inset-bottom, safe-area-inset-left safe-area-inset-*由四个定义了视口边缘内矩形的 top, right, bottom 和 left...使用 DSBridge 同时支持 iOS 与 Android 文档见参考资料 SDK小组 提供方法 注册方法 bridge.register bridge.register('enterApp', function...,一定要判断 SDK 是否提供该方法 如果 Android 提供该方法,iOS 上调用就会出现一个方法调用失败等弹窗。

    2.1K20

    【Hybrid】518- 12种移动端 H5 与 Hybrid问题汇总

    -webkit-overflow-scrolling: touch; /* 当手指从触摸屏上移开,会保持一段时间的滚动 */ 解决方案 1.在滚动容器上增加滚动 touch 方法 将-webkit-overflow-scrolling...contain:视图端口按比例缩放,以适合显示内嵌的最大矩形。 cover:视图端口被缩放以填充设备显示。强烈建议使用 safe area inset 变量,以确保重要内容不会出现在显示之外。..., safe-area-inset-bottom, safe-area-inset-left safe-area-inset-*由四个定义了视口边缘内矩形的 top, right, bottom 和 left...使用 DSBridge 同时支持 iOS 与 Android 文档见参考资料 SDK小组 提供方法 注册方法 bridge.register bridge.register('enterApp', function...,一定要判断 SDK 是否提供该方法 如果 Android 提供该方法,iOS 上调用就会出现一个方法调用失败等弹窗。

    1.4K22

    吃透移动端 H5 与 Hybrid|实践踩坑12种问题汇总

    当手指从触摸屏上移开,滚动会立即停止 */ 解决方案 1.在滚动容器上增加滚动 touch 方法 将-webkit-overflow-scrolling 值设置为 touch .wrapper {...contain:视图端口按比例缩放,以适合显示内嵌的最大矩形。 cover:视图端口被缩放以填充设备显示。强烈建议使用 safe area inset 变量,以确保重要内容不会出现在显示之外。..., safe-area-inset-bottom, safe-area-inset-left safe-area-inset-*由四个定义了视口边缘内矩形的 top, right, bottom 和 left...解决方案 使用 DSBridge 同时支持 iOS 与 Android 文档见参考资料 SDK小组 提供方法 注册方法 bridge.register bridge.register('enterApp...,一定要判断 SDK 是否提供该方法 如果 Android 提供该方法,iOS 上调用就会出现一个方法调用失败等弹窗。

    1.3K30

    12个关于移动 H5 开发的采坑问题汇总

    当手指从触摸屏上移开,滚动会立即停止 */ 复制代码 解决方案 1.在滚动容器上增加滚动 touch 方法 将-webkit-overflow-scrolling 值设置为 touch .wrapper...contain:视图端口按比例缩放,以适合显示内嵌的最大矩形。 cover:视图端口被缩放以填充设备显示。强烈建议使用 safe area inset 变量,以确保重要内容不会出现在显示之外。..., safe-area-inset-bottom, safe-area-inset-left safe-area-inset-*由四个定义了视口边缘内矩形的 top, right, bottom 和 left...解决方案 使用 DSBridge 同时支持 iOS 与 Android 文档见参考资料 SDK小组 提供方法 注册方法 `bridge.register` bridge.register('enterApp...有些时候测试环境上没法复现这个 bug,测试环境和生产环境不一致,此时就需要紧急生产调试。 在 PC 端开发时,我们可以直接掉出控制台,使用浏览器提供的工具操作devtools或者查看日志。

    1.7K31

    兼容iphone x * 刘海的正确姿势

    如果明年又多几个尺寸那就会是没完没了的改改改。 正确的姿势 在 ios 11 中我们可以使用 viewport-fit=cover + safe-area-inset-*。...Webkit在iOS11中新增CSS Functions: env( )替代constant( ),文档中推荐使用env( ),而 constant( ) 从Safari Techology Preview...在不支持env( )的浏览器中,会自动忽略这一样式规则,不影响网页正常的渲染。为了达到最大兼容目的,我们可以 constant( ) 和 env( ) 同时使用。...: calc(env(safe-area-inset-bottom) + 50px); /* 在 iphone x + 中本句才会生效 */ padding-left: env(safe-area-inset-left...否则 calc 会计算出一个不合法的值,则本句声明不会生效。这样在不支持 env 设备中也可以达到兼容的目的。 目前到这,在横屏场景下左侧的内容就不会被刘海遮挡住了: ?

    1.1K30

    兼容iPhone X* 刘海的正确姿势

    如果明年又多几个尺寸那就会是没完没了的改改改。 正确的姿势 在 ios 11 中我们可以使用 viewport-fit=cover + safe-area-inset-*。...Webkit在iOS11中新增CSS Functions: env( )替代constant( ),文档中推荐使用env( ),而 constant( ) 从Safari Techology Preview...在不支持env( )的浏览器中,会自动忽略这一样式规则,不影响网页正常的渲染。为了达到最大兼容目的,我们可以 constant( ) 和 env( ) 同时使用。...: calc(env(safe-area-inset-bottom) + 50px); /* 在 iphone x + 中本句才会生效 */  padding-left: env(safe-area-inset-left...否则 calc 会计算出一个不合法的值,则本句声明不会生效。这样在不支持 env 设备中也可以达到兼容的目的。

    66410

    移动端H5开发之页面适配篇

    1.4.3.1 dpr是什么dpr全名叫device pixel ratio,是设备上物理像素和设备独立像素的比率,公式表示就是:window.devicePixelRatio = 物理像素 /设备独立像素此值也可以解释为像素大小的比率...再来看下图片模糊的问题,大多发生在高dpr的设备上使用低倍图场景,所以图片我们直接使用2倍图即可,因为大部分的设备dpr为2,对于一些dpr>=3的特殊设备,我们也可以使用媒体查询来适配即可.bg {...):在Viewport顶部的安全区域内设置量(CSS像素)constant(safe-area-inset-bottom):在Viewport底部的安全区域内设置量(CSS像素)constant(safe-area-inset-left...):在Viewport左边的安全区域内设置量(CSS像素)constant(safe-area-inset-right):在Viewport右边的安全区域内设置量(CSS像素)然后给body设置一下安全区域...这个函数最初由 iOS 浏览器提供,用于允许开发人员将其内容放置在视口的安全区域中,该规范中定义的 safe-area-inset-* 值用于确保内容即使在非矩形的视区中也可以完全显示。

    7.6K92

    适配iPhone X 的齐刘海

    问题: 当 iPhone X 被旋转为横向时,设备左右可得到的内容区域是不一样的,这是因为需要取决于设备的绝对方位和 sensor housing 的位置,你站点内容竖直方向的安全区域在...足够友好的是,苹果已经提供了一个CSS 方法和一些预定义的CSS 变量,来应对这重担: env() 和 safe-area-inset-*。...因为 env() 仅在 iOS 11.2+设备上可用,所以目前你依旧需要引入 constant() 作为回退方案。iOS 11.2 好像一直也会支持 constant(),但依旧建议都引入。...在我们的例子中,我们使背景填充整个屏幕但使内容约束到安全区域,所以我们在内部元素的 containers 上应用了 padding。...); padding-left: env(safe-area-inset-left); } 结果: 在合适的地方设置你的padding之后,你已为你的用户转变了体验:从“压扁适应”到

    99490

    适配iPhone X 的齐刘海

    问题: 当 iPhone X 被旋转为横向时,设备左右可得到的内容区域是不一样的,这是因为需要取决于设备的绝对方位和 sensor housing 的位置,你站点内容竖直方向的安全区域在...足够友好的是,苹果已经提供了一个CSS 方法和一些预定义的CSS 变量,来应对这重担: env() 和 safe-area-inset-*。...因为 env() 仅在 iOS 11.2+设备上可用,所以目前你依旧需要引入 constant() 作为回退方案。iOS 11.2 好像一直也会支持 constant(),但依旧建议都引入。...在我们的例子中,我们使背景填充整个屏幕但使内容约束到安全区域,所以我们在内部元素的 containers 上应用了 padding。...); padding-left: env(safe-area-inset-left); } 结果: 在合适的地方设置你的padding之后,你已为你的用户转变了体验:从“压扁适应”

    53220

    【HTML5 理论知识】就H5调试技巧,浅谈:iPhone X 适配方案!

    使用苹果提供的新属性 解决方案 苹果对于iPhone X上H5页面的适配,提供了特殊属性支持,包括meta标签的viewport属性值中加入viewport-fit和加入constant(safe-area-inset-X...,所以苹果提供在css中设置constant(safe-area-inset-X)距离来规避遮挡问题。...iPhone X模拟器 H5调试 介绍 加入适配代码后,在没iPhone X的情况下,可以通过iPhone X模拟器调试,像手机QQ/手机空间里的H5页面,可以通过在模拟器上安装手机QQ/手机空间app...image.png 这种方法对于我们要调试线上H5的其他问题、要测试其他iOS设备找不到真机时同样适用。...最后 经过分析,使用官方提供的新属性是三种里面较佳的方案,不过使用在适配过程中应当整体考虑所有机型,webview的类型及布局、还有横竖屏对contstant(safe-area-inset-X)/env

    3.3K80

    极速适配 iPhone X 秘笈

    在适配过程中,我们尝试了这三种方案,如下。 解决方案1 客户端适配 客户端直接将 webview 的安全区域限制在除去安全区域的区域内。...解决方案3 使用苹果提供的新属性 苹果对于 iPhone X 上 H5 页面的适配,提供了特殊属性支持,包括 meta 标签的 viewport 属性值中加入 viewport-fit 和加入 constant...遮挡的问题,所以苹果提供在 css 中设置 constant(safe-area-inset-X) 距离来规避遮挡问题。...这种方法对于我们要调试线上 H5 的其他问题、要测试其他 iOS 设备找不到真机时同样适用。...最后 经过分析,使用官方提供的新属性是三种里面较佳的方案,不过在适配过程中应当整体考虑所有机型,webview 的类型及布局、还有横竖屏对contstant(safe-area-inset-X) / env

    1.3K40

    iphoneX 兼容

    safe-area-inset-left:安全区域距离左边边界距离 safe-area-inset-right:安全区域距离右边边界距离 safe-area-inset-top:安全区域距离顶部边界距离...safe-area-inset-bottom:安全区域距离底部边界距离 上面的方法与属性的组合目的就是计算出安全的边距。...这个边距只针对需要边距的设备(如:iphonex)生效。 有了这个边距,接下来我们不论是 margin、padding还是其他,只要能将这个边距空出来就能实现安全距离了。...当然,有的时候我们还需要再安全距离的基础上多上一些距离,此时 可以考虑用 css3 的 calc 属性 注意 通过 margin、padding、position 等空白出来的边距有时候会出现透明的情况...然后,在 div 盒子内部,通过对子元素设置 margin、padding 安全距离 来实现不透明的安全边距。

    1K20

    H5 页面 iPhoneX 刘海屏适配

    随着这两年苹果坚定不移的走刘海屏路线,Hybrid 页面在 iPhoneX 上刘海屏的适配也是每个前端开发的小伙伴都会碰到的问题,今天就记录一下我关于刘海屏适配的部分经验。...2、H5 页面在 iOS 中占据全屏页面,在这种情况下,除了要兼顾底部小黑条,我们还要处理页面上部跟 状态栏接触的部分,避免内容出现在状态栏上。...这个函数最初由 iOS 浏览器提供,用于允许开发人员将其内容放置在视口的安全区域中,该规范中定义的 safe-area-inset-* 值用于确保内容即使在非矩形的视区中也可以完全显示。...当你的页面不使用原生导航栏铺在整个屏幕中时,这就是一个不错的适配方案。...这里要注意的是,实测时,对于 iPhone XR 我用在 stackoverflow 上找到的 media query 条件来判断不生效,后来经过查找资料,我找到一个在 iPhone XR 上实际可用的条件

    4.4K40

    关于移动端适配,你必须要知道的

    我们开发过程中也是以这个 设计像素为准。 实际上,从苹果提出视网膜屏幕开始,才出现设备像素比这个概念,因为在这之前,移动设备都是直接使用物理像素来进行展示。...当然,仅仅是类似,由于各个设备的尺寸、分辨率上的差异,设备独立像素也不会完全相等,所以各种 Android设备仍然不能做到在展示上完全相等。...3.2 移动端开发 在 iOS、 Android和 ReactNative开发中样式单位其实都使用的是设备独立像素。...iOS的尺寸单位为 pt, Android的尺寸单位为 dp, ReactNative中没有指定明确的单位,它们其实都是设备独立像素 dp。...函数内部可以是四个常量: safe-area-inset-left:安全区域距离左边边界距离 safe-area-inset-right:安全区域距离右边边界距离 safe-area-inset-top

    2K20

    关于移动端适配,你必须要知道的

    我们开发过程中也是以这个 设计像素为准。 实际上,从苹果提出视网膜屏幕开始,才出现设备像素比这个概念,因为在这之前,移动设备都是直接使用物理像素来进行展示。...当然,仅仅是类似,由于各个设备的尺寸、分辨率上的差异,设备独立像素也不会完全相等,所以各种 Android设备仍然不能做到在展示上完全相等。...3.2 移动端开发 在 iOS、 Android和 ReactNative开发中样式单位其实都使用的是设备独立像素。...iOS的尺寸单位为 pt, Android的尺寸单位为 dp, ReactNative中没有指定明确的单位,它们其实都是设备独立像素 dp。...函数内部可以是四个常量: safe-area-inset-left:安全区域距离左边边界距离 safe-area-inset-right:安全区域距离右边边界距离 safe-area-inset-top

    1.9K41

    关于移动端适配,你必须要知道的

    我们开发过程中也是以这个 设计像素为准。 实际上,从苹果提出视网膜屏幕开始,才出现设备像素比这个概念,因为在这之前,移动设备都是直接使用物理像素来进行展示。...当然,仅仅是类似,由于各个设备的尺寸、分辨率上的差异,设备独立像素也不会完全相等,所以各种 Android设备仍然不能做到在展示上完全相等。...3.2 移动端开发 在 iOS、 Android和 ReactNative开发中样式单位其实都使用的是设备独立像素。...iOS的尺寸单位为 pt, Android的尺寸单位为 dp, ReactNative中没有指定明确的单位,它们其实都是设备独立像素 dp。...函数内部可以是四个常量: safe-area-inset-left:安全区域距离左边边界距离 safe-area-inset-right:安全区域距离右边边界距离 safe-area-inset-top

    2.1K10
    领券