草庐IT

android - 在android中有res/drawable-ldpi吗?

coder 2023-11-28 原文

我正在努力理解 http://developer.android.com/guide/topics/resources/providing-resources.html#AlternativeResources我想知道同时具有 drawable 和 drawable-ldpi 是否有意义?我问的原因是因为我从不同的示例中复制了一些可绘制对象。我在 drawable-mdpi、drawable-hdpi、drawable-xhdpi 中有来自 Holo 主题的图标,但启动器图标也存在于 drawable-ldpi 中(但是 drawable-ldpi 中没有其他文件)。我还有一些仅存在于 drawable 目录中的自定义 drawable。

这是一个例子:

res/drawable/x.png
res/drawable-ldpi/ic_launcher.png
res/drawable-mdpi/ic_launcher.png
res/drawable-mdpi/ic_download.png
res/drawable-hdpi/ic_launcher.png
res/drawable-hdpi/ic_download.png
res/drawable-xhdpi/ic_launcher.png
res/drawable-xhdpi/ic_download.png
res/drawable-xxhdpi/ic_launcher.png

我是否正确理解这是一个错误的配置,就好像我的应用程序碰巧在 ldpi 设备上运行一样它会崩溃,因为它缺少 ic_download 可绘制对象?那么正确的解决方法是什么?我是否必须将所有可绘制对象的大小调整为 ldpi?或者为了安全起见,我应该只将 EACH drawable 的最小现有版本添加到 drawables/吗?

最佳答案

只有 10% 的设备是 ldpi,并且这个数字会随着时间的推移而减少。来源:http://developer.android.com/about/dashboards/index.html

不需要所有密度的图像,只需要一个就足够了。系统会在需要时按比例放大/缩小。因此,最好的方法是支持最高密度的图像(xhdpi 或 xxhdpi)。

我个人只使用 xhdpi 图像!


如果您将所有图像都放在 xhdpi 文件夹中,应用程序不会因为丢失其他密度的图像而崩溃。对于所有其他密度,图像将调整为较小的尺寸,因此不会失去其特征。

当您为每种分辨率创建不同的图像而不仅仅是调整图像大小时,Google 的建议很有用。示例:ldpi 图标 (36x36) = 只有一个简单的棒球/xhdpi 图标 (96x96) = bat 击中棒球

更详细一点,如果您将图像放在默认文件夹 (mdpi) 上,它将针对 xhdpi 设备将其放大 2 倍,您可能会遇到 OOM 问题。如果将图像放在 xhdpi 文件夹中,它将缩小一半。

实际上不需要,但如果您希望(非常?)小的性能改进并且不介意更大的 APK,则可以添加它们。

关于android - 在android中有res/drawable-ldpi吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16968203/

有关android - 在android中有res/drawable-ldpi吗?的更多相关文章

  1. ruby-on-rails - 如何在 ruby​​ 交互式 shell 中有多行? - 2

    这可能是个愚蠢的问题。但是,我是一个新手......你怎么能在交互式ruby​​shell中有多行代码?好像你只能有一条长线。按回车键运行代码。无论如何我可以在不运行代码的情况下跳到下一行吗?再次抱歉,如果这是一个愚蠢的问题。谢谢。 最佳答案 这是一个例子:2.1.2:053>a=1=>12.1.2:054>b=2=>22.1.2:055>a+b=>32.1.2:056>ifa>b#Thecode‘if..."startsthedefinitionoftheconditionalstatement.2.1.2:057?>puts"f

  2. ruby - 在 Ruby 中有条件地定义函数 - 2

    我有一些代码在几个不同的位置之一运行:作为具有调试输出的命令行工具,作为不接受任何输出的更大程序的一部分,以及在Rails环境中。有时我需要根据代码的位置对代码进行细微的更改,我意识到以下样式似乎可行:print"Testingnestedfunctionsdefined\n"CLI=trueifCLIdeftest_printprint"CommandLineVersion\n"endelsedeftest_printprint"ReleaseVersion\n"endendtest_print()这导致:TestingnestedfunctionsdefinedCommandLin

  3. ruby - ruby 中有 each_if 吗? - 2

    假设我在Ruby中有这个each循环。@list.each{|i|putsiifi>10breakend}我想循环遍历列表直到满足条件。这让我感到“不像Ruby”,因为我是Ruby的新手,是否有Ruby方法可以做到这一点? 最佳答案 您可以使用Enumerable#detect或Enumerable#take_while,取决于您想要的结果。@list.detect{|i|putsii>10}#Returnsthefirstelementgreaterthan10,ornil.正如其他人所指出的,更好的风格是先进行子选择,然后再对其

  4. 安卓apk修改(Android反编译apk) - 2

    最近因为项目需要,需要将Android手机系统自带的某个系统软件反编译并更改里面某个资源,并重新打包,签名生成新的自定义的apk,下面我来介绍一下我的实现过程。APK修改,分为以下几步:反编译解包,修改,重打包,修改签名等步骤。安卓apk修改准备工作1.系统配置好JavaJDK环境变量2.需要root权限的手机(针对系统自带apk,其他软件免root)3.Auto-Sign签名工具4.apktool工具安卓apk修改开始反编译本文拿Android系统里面的Settings.apk做demo,具体如何将apk获取出来在此就不过多介绍了,直接进入主题:按键win+R输入cmd,打开命令窗口,并将路

  5. ruby-on-rails - "assigns"在 Ruby on Rails 中有什么作用? - 2

    我目前正在尝试学习RubyonRails和测试框架RSpec。assigns在此RSpec测试中做什么?describe"GETindex"doit"assignsallmymodelas@mymodel"domymodel=Factory(:mymodel)get:indexassigns(:mymodels).shouldeq([mymodel])endend 最佳答案 assigns只是检查您在Controller中设置的实例变量的值。这里检查@mymodels。 关于ruby-o

  6. ruby - 字符串文字前面的 * 在 ruby​​ 中有什么作用? - 2

    这段代码似乎创建了一个范围从a到z的数组,但我不明白*的作用。有人可以解释一下吗?[*"a".."z"] 最佳答案 它叫做splatoperator.SplattinganLvalueAmaximumofonelvaluemaybesplattedinwhichcaseitisassignedanArrayconsistingoftheremainingrvaluesthatlackcorrespondinglvalues.Iftherightmostlvalueissplattedthenitconsumesallrvaluesw

  7. ruby - Ruby 中有包实现吗? - 2

    是否有bag集合的实现(类似于集合的集合,它会记录对象被插入的次数)? 最佳答案 当然!它也被称为multiset.这是一个nicerubyimplementation. 关于ruby-Ruby中有包实现吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/4351793/

  8. ruby - 为什么在 rvm 安装中有两个 rake gemspecs? - 2

    为什么在rvm安装中有两个rakegemspecs?~-10:59>find~/.rvm/-name'rake-0.8.7.gemspec'~/.rvm/gems/ruby-1.9.2-p136/specifications/rake-0.8.7.gemspec~/.rvm/gems/ruby-1.9.2-p136@global/specifications/rake-0.8.7.gemspec#alias~/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/gems/1.9.1/specifications/rake-0.8.7.gemspec为什么不同?(非

  9. ruby - Ruby 中有常量实例变量这样的东西吗? - 2

    我的googlefu很烂,找不到这方面的信息。基本上我想要一个实例变量,它只在类/模块的范围内可见,但也是不可变的。我是Ruby的新手,如果这个问题没有多大意义,我深表歉意。 最佳答案 classMyClassdefinitializeclass自然地,您会希望尽可能使用方法foo来读取值。一个更简单的等价物是classMyClassdefinitializedeffoo;1;endendend 关于ruby-Ruby中有常量实例变量这样的东西吗?,我们在StackOverflow上找到

  10. ruby - Ruby 中有条件的内联和有条件的 block 之间的区别 - 2

    今天我遇到了Ruby的内联if和阻塞if这种奇怪的行为2.0.0-p247:001>inline_if='valuewillnotsetbutnoerror'ifinline_if=>nil2.0.0-p247:002>ifblock_if2.0.0-p247:003?>block_if='forgetaboutsettingvalue,Iwillraiseanerror'2.0.0-p247:004?>endNameError:undefinedlocalvariableormethod`block_if'formain:Objectfrom(irb):2from/Users/myu

随机推荐