- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我只是想知道与基于web-kit的浏览器和苹果设备相关的devicePixelRatio是否真的有用,或者它只是苹果的私有(private) Assets 。要知道,web-kit 引擎也是苹果公司的。我认为这种东西只对苹果的 Retina 屏幕有意义,我一直认为屏幕分辨率和操作系统分辨率之间的差异应该由操作系统妥善处理,这不是我们的任务。
如果 devicePixelRatio 的值有很多,范围从 0 到 1000000,我应该为这些屏幕准备多少张图片。
最佳答案
Web 浏览是移动设备用户最流行的事件,网页本身以各种形状和大小提供。
Apple 和跟随他们进入移动硬件领域的各种公司需要让网络浏览体验尽可能简单,以便最大限度地利用和依赖他们的设备所花费的时间。他们需要避免让用户在页面上进行缩放和平移以阅读内容,因此他们向 Web 开发人员公开了一个称为“元视口(viewport)”的 API,这使他们可以毫不费力地提供小屏幕改编版他们的网站。
后来他们意识到,以这种方式缩放会使图像在更高 dpi 设备(如 apple retina 和 android 设备(如 galaxy sIII 和 nexus 设备)中放大时看起来像垃圾。因此,他们制作了一个变量 devicePixelRatio 和一个相应的 CSS 媒体查询,以使 Web 开发人员能够检测到给定设备需要更高分辨率的图像,以便网站在缩放后看起来更好。没有人期望网站所有者/开发人员浪费 2 倍的带宽来向每个人提供带有子像素数据的位图,因为他们的 0.2% 的用户恰好使用的设备对于给定的物理尺寸来说是通常像素数量的 2 倍。为了使高 dpi 设备取得成功,他们需要使网络在其上看起来不错,而使网络在其上看起来不错的唯一方法是让网站所有者/开发人员选择制作它变得容易且值得他们的网站在上面看起来不错。
网站开发人员需要权衡花费额外时间有选择地提供图像的成本和 yield ,以便网站在高像素密度设备上看起来不会很差。如果网络发展到大多数网站都这样做的地步,消费者就会觉得您的网站质量低下,而不是因为他们使用的硬件存在某些缺陷。
只是为了澄清:
苹果只使用 1 和 2 作为他们的 devicePixelRatio。
google 提倡使用 1、1.5 和 2(尽管他们并不总是强制执行)。
Microsoft 在其 screen.deviceXDPI 值中使用 96dpi (1) 144dpi (1.5) 192dpi (2)
大多数人只向所有高于某种阈值的设备提供一个 2x 分辨率版本的 Assets ,例如 1.3 和 1x 版本的设备低于该阈值的设备。对于那些了解所有这些设备值的确切含义以及如何使用“CSS 媒体查询”或它们各自的 javascript 值的 Web 开发人员来说,这非常容易,而且并不像我怀疑您想象的那样令人沮丧。
关于iphone - devicePixelRatio 真的有用吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12798608/
我正在尝试在两个表之间进行空间连接: 表 1:397265 个特征(在 geom 字段上有 gist 索引) 表 2:73 个特征(在 geom 字段上有 gist 索引) 表 1 和表 2 具有相同
我正在尝试在两个表之间进行空间连接: 表 1:397265 个特征(在 geom 字段上有 gist 索引) 表 2:73 个特征(在 geom 字段上有 gist 索引) 表 1 和表 2 具有相同
枚举类型的值是该类型的静态变量。 据我所知,变量是由引用变量引用的,但没有新的运算符来实例化枚举对象。但这就像初始化数组一样吗? 这是对还是错? 最佳答案 是的,枚举类型的文字是 public sta
我阅读了有关关闭 zsh 自动更正以完成命令的所有提示。但是,它们并没有完全发挥作用。我试过 DISABLE_CORRECTION="true", unsetopt correct, unsetopt
我知道这个问题是 answered before ,但给出的答案并不是完整的故事: 我进入了 Firefox 的 Options->Content 并删除了除德语/德国之外的所有语言,navigato
我知道用汇编语言编写任何内容或将汇编语言添加到任何程序都会损害其可移植性。但是,有多糟糕呢?我的意思是,现在基本上所有 PC 都是 x86 或 x64,对吧?那么,如果我将汇编嵌入到 C 程序中,为什
我正计划构建一个 Web 服务客户端,它始终检查数据库中的某些记录,并根据数据库内容的结果在每个时刻及时执行某些决策。 所以我在想,我怎样才能让客户端一直运行呢? 我唯一想到的就是无限循环。像这样的东
我无法获取小部件的实际背景颜色。在我的特殊情况下,我在使用 QTabWidget 中的小部件时遇到了问题。 这是在 Windows7 上。所以经典小部件有一些灰色背景,而选项卡中的小部件通常用白色背景
请不要将我指向How to wrap preference title?因为它不适用于(正如我评论的那样)您使用 @strings/ 的情况对 strings.xml 文件的引用。 如果你使用 and
情况如下: 已知hdfs是仅附加的(本身没有更新)。 配置单元将数据写入其位于hdfs中的仓库。 可以在配置单元中执行更新 这意味着写入了新数据,旧数据应该以某种方式标记为已弃用,然后在某个时间将其清
在javascript中删除cookies的方法是将过期日期设置为过去。现在这实际上并没有删除 cookie,至少在 Firefox 中是这样。这只是意味着 cookie 将在浏览器关闭时被删除。 这
我需要终止一个卡住的线程,我将 IsBackground 设置为 true 但它仍然存在。线程的属性: ThreadState = AbortRequested IsBackground = true
在逻辑中,以及在 *ahem* 正确设计的编程语言中,将 boolean 值与 true 进行比较总是多余的,即 a == True 应该简单地替换为 a 。 (类似地, a == False 由 n
我一直在努力寻找一个好的定义,并理解线程到底是什么。 看来我一定错过了一些明显的东西,但是每次我读到什么是线程时,它几乎是一个循环定义,la“线程是一个执行线程”或“一种划分运行任务的方法” ”。呃呃
就目前而言,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引起辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visit the he
是否可以在 MAC 上以真正的全屏模式运行 IntelliJ Idea? 没有工具栏、侧边栏、按钮,只有代码。 如果可以,请告诉我。 最佳答案 您可以通过禁用以下项目在 View 菜单中执行此操作:
考虑以下代码: case class Vector3(var x: Float, var y: Float, var z: Float) { def add(v: Vector3): Unit =
我试图确认这个说法是否属实: 模型包括: 持久层:本质上是 DAO + 表示表的类 + DTO 服务层:DAOS + 一些逻辑的组合 您能否也引用/支持您的回答?我相信我在Spring Framewo
给定代码: #include struct X {}; struct Y1: virtual X {}; struct Y2: virtual X {}; struct Y3: virtual X
从这个其他QUESTION他们谈论 Bjarne Stroustrup 是如何说的,就像比 int 窄的整数数据类型(例如 short)被提升为 int,float 被提升为 double。但是,与i
我是一名优秀的程序员,十分优秀!