问题标签 [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.

0 投票
2 回答
31030 浏览

iphone - 消除 UIImage imageNamed: FUD

2014 年 2 月编辑:请注意,这个问题来自 iOS 2.0!从那时起,图像要求和处理发生了很大变化。Retina 使图像更大并且加载它们稍微复杂一些。借助对 iPad 和视网膜图像的内置支持,您当然应该在代码中使用 ImageNamed

我看到很多人说imageNamed性能不好,但同样数量的人说性能好——尤其是在渲染UITableViews 时。例如,请参阅此 SO 问题或iPhoneDeveloperTips.com 上的这篇文章

UIImageimageNamed方法用于泄漏,因此最好避免,但已在最近的版本中修复。我想更好地了解缓存算法,以便合理地决定我可以信任系统在哪里缓存我的图像,以及我需要在哪里加倍努力并自己做。我目前的基本理解是它是一个简单NSMutableDictionaryUIImages文件名引用。它变得更大,当内存用完时,它会变得更小。

例如,是否有人确定背后的图像缓存imageNamed没有响应didReceiveMemoryWarning?苹果似乎不太可能不这样做。

如果您对缓存算法有任何见解,请在此处发布。

0 投票
1 回答
3443 浏览

objective-c - NSImage imageNamed:对于 Mac Mini 返回小图标而不是高分辨率

当使用NSImage'simageNamed:方法获取当前计算机的图标时,如果我在 Mac Mini 上运行,那么我会得到一个低分辨率的图像。如果我在我的 MacBook 上运行相同的代码,那么我会得到一个我期望的高分辨率图标。

我的代码如下:

当我在我的 MacBook 上运行它时,一切都很好,我得到了我电脑的 512x512 图标。当我在我的 Mac Mini 上运行它时,我得到一个 32x32 的图标,该图标已放大到 512x512。

关于如何获得高分辨率版本的任何想法?

0 投票
2 回答
1229 浏览

iphone - 带有 UIImage 动画的 iPhone 应用程序内存泄漏?设备问题测试

我有一个在模拟器中运行良好但在设备上崩溃的动画。我收到以下错误...

节目接收信号:“0”。由于信号 10 (SIGBUS),调试器已退出

一些调查表明 UIImages 没有被释放并且我有内存泄漏。我是新手,所以有人可以告诉我这是否是可能的原因吗?如果您也可以告诉我如何解决它,那将是惊人的。

图片大小为 480 像素 x 480 像素,每张约 25kb。我的代码如下...

谢谢

0 投票
1 回答
141 浏览

iphone - iPhone上的图像问题

在我的应用程序中,我使用了大量基于界面生成器的图像。这样做的问题是它使用大量内存,因为界面构建器缓存它非常喜欢“imageNamed”,所以我已经开始从界面构建器中的 imageViews 中删除图像,而是在视图开始使用“imageWithContentsOfFile”时添加它们。几个小时后,我几乎没有什么进展,因为我确实有数百张图像。我只是想知道是否有更直接的方法可以做到这一点?

0 投票
6 回答
27127 浏览

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 正常工作)

0 投票
1 回答
696 浏览

iphone - UIImage imageNamed 返回错误的图像

我在使用[UIImage imageNamed:]设置表格视图单元格背景的方法时遇到了一个奇怪的问题。

我通常对单元格执行此操作:

由于某些未知原因,返回的图像不是“cell_background.png”。它实际上返回了一个旧版本的图像,现在具有不同的名称(“button_background.png”)。XCode 中 cell_background 的图像预览显示正确的图像,“打开”或“在取景器中显示”也可以。我试图从项目中删除所有图像并将它们放回去,但问题仍然存在。

什么可能导致imageNamed:加载旧版本的图像或具有其他名称的图像?

0 投票
2 回答
1486 浏览

iphone - iPhone App切换后崩溃,可能是由于UIImage imageNamed

我的应用程序在屏幕上随机移动 10 个 UIImageView,一旦 UIImageView 到达角落,它就会更改其图像。问题是:在应用程序之间切换并返回我的应用程序后,应用程序崩溃了。

控制台给了我这个消息:

崩溃日志指出:

认为问题是由于我正在使用的事实UIImage imageNamed,这里是代码:

ViewController.h中:

ViewController.m中:

为什么我的应用程序崩溃,我该如何解决?

0 投票
1 回答
2367 浏览

iphone - (iphone) imageNamed 当有多个同名文件时?

正如问题所说,当资源目录下有多个具有给定名称的文件时,imageNamed 如何工作?

有没有办法区分两个具有相同名称(但路径不同)的不同文件?

谢谢

0 投票
6 回答
3451 浏览

ios - 在 UIImage imageNamed 中使用外部图像

我正在从网络 Apple.png 和 Apple@2x.png 下载两个图像。我想使用[UIImage imageNamed:@"Apple.png"]它,以便它可以使用内置功能来检测它是否应该显示 Apple.png 或 Apple@2x.png。

现在我在哪里存储这些图像?我在文档中阅读了以下内容:

文件的名称。如果这是第一次加载图像,该方法会在应用程序的主包中查找具有指定名称的图像。

啊,所以应用程序的主包是要走的路。这就是我的代码的样子:

我检查了文件是否在路径的文件夹中创建并且是正确的。我还在我的项目文件中拖动了一个 Example.png,只是为了查看它是否存储在同一个文件夹中,这也是正确的。

但是,[UIImage imageNamed:@"Apple.png"]仍然无法获取图像。

0 投票
1 回答
376 浏览

uiscrollview - UIImage ImageNamed 方法

在我的应用程序中,我将几个图像加载到 UIScrollView 上,并使用 Core Graphics 例程突出显示滚动视图的一部分。我在例程期间使用 CGImageRelease 和 CGContextRelease 来管理内存。

当我使用工具(分配)运行应用程序时,我发现每次滑动滚动视图时内存消耗都会不断增加。这在某一时刻导致应用程序变得非常缓慢。

为了加载不同的图像,我使用 UIImage ImageNamed 方法,我遇到一些帖子表明这不是一个好主意,因为该方法会导致自动释放图像,从而产生内存问题。我想知道我是否正在寻找错误的正确位置。寻找这种异常内存消耗的可能位置是什么?

另外,使用 Instruments 的分配,我可以看到内存的增加,是否可以指出这些分配发生的代码?

在此先感谢您的帮助!

最佳 DKV