问题标签 [imagenamed]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
iphone - 消除 UIImage imageNamed: FUD
2014 年 2 月编辑:请注意,这个问题来自 iOS 2.0!从那时起,图像要求和处理发生了很大变化。Retina 使图像更大并且加载它们稍微复杂一些。借助对 iPad 和视网膜图像的内置支持,您当然应该在代码中使用 ImageNamed。
我看到很多人说imageNamed
性能不好,但同样数量的人说性能好——尤其是在渲染UITableView
s 时。例如,请参阅此 SO 问题或iPhoneDeveloperTips.com 上的这篇文章
UIImage
的imageNamed
方法用于泄漏,因此最好避免,但已在最近的版本中修复。我想更好地了解缓存算法,以便合理地决定我可以信任系统在哪里缓存我的图像,以及我需要在哪里加倍努力并自己做。我目前的基本理解是它是一个简单NSMutableDictionary
的UIImages
文件名引用。它变得更大,当内存用完时,它会变得更小。
例如,是否有人确定背后的图像缓存imageNamed
没有响应didReceiveMemoryWarning
?苹果似乎不太可能不这样做。
如果您对缓存算法有任何见解,请在此处发布。
objective-c - NSImage imageNamed:对于 Mac Mini 返回小图标而不是高分辨率
当使用NSImage
'simageNamed:
方法获取当前计算机的图标时,如果我在 Mac Mini 上运行,那么我会得到一个低分辨率的图像。如果我在我的 MacBook 上运行相同的代码,那么我会得到一个我期望的高分辨率图标。
我的代码如下:
当我在我的 MacBook 上运行它时,一切都很好,我得到了我电脑的 512x512 图标。当我在我的 Mac Mini 上运行它时,我得到一个 32x32 的图标,该图标已放大到 512x512。
关于如何获得高分辨率版本的任何想法?
iphone - 带有 UIImage 动画的 iPhone 应用程序内存泄漏?设备问题测试
我有一个在模拟器中运行良好但在设备上崩溃的动画。我收到以下错误...
节目接收信号:“0”。由于信号 10 (SIGBUS),调试器已退出
一些调查表明 UIImages 没有被释放并且我有内存泄漏。我是新手,所以有人可以告诉我这是否是可能的原因吗?如果您也可以告诉我如何解决它,那将是惊人的。
图片大小为 480 像素 x 480 像素,每张约 25kb。我的代码如下...
谢谢
iphone - iPhone上的图像问题
在我的应用程序中,我使用了大量基于界面生成器的图像。这样做的问题是它使用大量内存,因为界面构建器缓存它非常喜欢“imageNamed”,所以我已经开始从界面构建器中的 imageViews 中删除图像,而是在视图开始使用“imageWithContentsOfFile”时添加它们。几个小时后,我几乎没有什么进展,因为我确实有数百张图像。我只是想知道是否有更直接的方法可以做到这一点?
objective-c - 如何让 [UIImage imageWithContentsOfFile:] 和高分辨率图像工作
正如许多人抱怨的那样,Retina Display 的 Apple SDK 似乎存在一个错误,并且 imageWithContentsOfFile 实际上不会自动加载 2x 图像。
我偶然发现了一篇不错的帖子,如何制作一个检测 UIScreen 比例因子并正确加载低或高分辨率图像的函数(http://atastypixel.com/blog/uiimage-resolution-independence-and-the-iphone-4s -retina-display/),但是该解决方案加载了 2x 图像并且仍然将图像的比例因子设置为 1.0,这导致 2x 图像缩放了 2 倍(因此,比它看起来要大 4 倍)
imageNamed 似乎可以准确地加载低分辨率和高分辨率图像,但对我来说是没有选择的。
是否有人有不使用自动加载 imageNamed 或 imageWithContentsOfFile 来加载低/高分辨率图像的解决方案?(或最终解决如何使 imageWithContentsOfFile 正常工作)
iphone - UIImage imageNamed 返回错误的图像
我在使用[UIImage imageNamed:]
设置表格视图单元格背景的方法时遇到了一个奇怪的问题。
我通常对单元格执行此操作:
由于某些未知原因,返回的图像不是“cell_background.png”。它实际上返回了一个旧版本的图像,现在具有不同的名称(“button_background.png”)。XCode 中 cell_background 的图像预览显示正确的图像,“打开”或“在取景器中显示”也可以。我试图从项目中删除所有图像并将它们放回去,但问题仍然存在。
什么可能导致imageNamed:
加载旧版本的图像或具有其他名称的图像?
iphone - iPhone App切换后崩溃,可能是由于UIImage imageNamed
我的应用程序在屏幕上随机移动 10 个 UIImageView,一旦 UIImageView 到达角落,它就会更改其图像。问题是:在应用程序之间切换并返回我的应用程序后,应用程序崩溃了。
控制台给了我这个消息:
崩溃日志指出:
我认为问题是由于我正在使用的事实UIImage imageNamed
,这里是代码:
在ViewController.h中:
在ViewController.m中:
为什么我的应用程序崩溃,我该如何解决?
iphone - (iphone) imageNamed 当有多个同名文件时?
正如问题所说,当资源目录下有多个具有给定名称的文件时,imageNamed 如何工作?
有没有办法区分两个具有相同名称(但路径不同)的不同文件?
谢谢
ios - 在 UIImage imageNamed 中使用外部图像
我正在从网络 Apple.png 和 Apple@2x.png 下载两个图像。我想使用[UIImage imageNamed:@"Apple.png"]
它,以便它可以使用内置功能来检测它是否应该显示 Apple.png 或 Apple@2x.png。
现在我在哪里存储这些图像?我在文档中阅读了以下内容:
文件的名称。如果这是第一次加载图像,该方法会在应用程序的主包中查找具有指定名称的图像。
啊,所以应用程序的主包是要走的路。这就是我的代码的样子:
我检查了文件是否在路径的文件夹中创建并且是正确的。我还在我的项目文件中拖动了一个 Example.png,只是为了查看它是否存储在同一个文件夹中,这也是正确的。
但是,[UIImage imageNamed:@"Apple.png"]
仍然无法获取图像。
uiscrollview - UIImage ImageNamed 方法
在我的应用程序中,我将几个图像加载到 UIScrollView 上,并使用 Core Graphics 例程突出显示滚动视图的一部分。我在例程期间使用 CGImageRelease 和 CGContextRelease 来管理内存。
当我使用工具(分配)运行应用程序时,我发现每次滑动滚动视图时内存消耗都会不断增加。这在某一时刻导致应用程序变得非常缓慢。
为了加载不同的图像,我使用 UIImage ImageNamed 方法,我遇到一些帖子表明这不是一个好主意,因为该方法会导致自动释放图像,从而产生内存问题。我想知道我是否正在寻找错误的正确位置。寻找这种异常内存消耗的可能位置是什么?
另外,使用 Instruments 的分配,我可以看到内存的增加,是否可以指出这些分配发生的代码?
在此先感谢您的帮助!
最佳 DKV