V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
satanwoo
V2EX  ›  iDev

怎么样才能做到类似苹果原生的 photo app 那样的秒开加流畅?

  •  
  •   satanwoo · 2014-07-30 15:51:15 +08:00 · 3070 次点击
    这是一个创建于 3760 天前的主题,其中的信息可能已经有所发展或是发生改变。
    有两个方面的疑问:

    1.是如何合理的存储照片数据,因为要在本地秒开,不能只能照片的url吧,如果直接按照data存,那么高清大图片怎么做到秒开啊?

    2.是如何加载那么多照片滚动那么流畅的。大家可以看下微信,随便发送一幅图,然后点一下,进入图片浏览模式下,右下角有个查看所有照片的按钮,点进去加载所有照片,第一就不是秒加载,第二滚动会卡。

    求助啦,麻烦大家~
    10 条回复    2014-08-05 03:10:57 +08:00
    newtonisaac
        1
    newtonisaac  
       2014-07-31 08:52:16 +08:00 via iPad
    Wwdc
    satanwoo
        2
    satanwoo  
    OP
       2014-07-31 10:01:43 +08:00
    @newtonisaac 感觉大致都能理解。但是还是弄不出photo原生那样的秒速。。。
    Hysteria
        3
    Hysteria  
       2014-07-31 10:48:53 +08:00
    我一直认为原生的Photo有自己的持久化缓存,但是没道理苹果不提供给我开发者用。大量图片滚动不卡我觉得可以试试path开源的FastImageCache,拿空间换时间,缓存解压后的图片数据来提高加载时候的速度。
    satanwoo
        4
    satanwoo  
    OP
       2014-07-31 11:33:14 +08:00
    @Hysteria 事实上即使你全部preload 到内存里,如果采用类似于collectionview那种样式的设计,滚动大量图片也会卡,这还是不在和网络交互的情况下。

    我现在比较关注的是,我就是一个本地的应用,存储了大量的高清图片,咋整的和photo原生那么秒速,我是拿4s这种性能已经相对落后的机器测试的。
    wezzard
        5
    wezzard  
       2014-08-01 12:01:19 +08:00
    首先UI卡应该检查是不是前景任务和背景任务是否分开了。

    然后性能是一点点榨榨出来的,没有银弹。充分优化的 CoreData 远比没有优化过的 SQLite 快。

    另外,楼主都不贴 Instrument 的图,怎么让别人分析呢。优化中一个大忌就是仅凭猜测去判断问题在哪。
    wezzard
        6
    wezzard  
       2014-08-01 12:05:38 +08:00
    @Hysteria 我记得看过新闻有说苹果的iPhotos的持久化变成了SQLite。很多年前看到的。
    yarshure
        7
    yarshure  
       2014-08-01 22:24:22 +08:00 via iPad
    人家都用缩略图的,你看看iPhoto的lib就知道了
    不信你在Mac上import 10G数据看看,慢死
    satanwoo
        8
    satanwoo  
    OP
       2014-08-02 00:09:28 +08:00
    @yarshure 就算是缩略图,苹果原生的也秒杀了一堆应用。
    satanwoo
        9
    satanwoo  
    OP
       2014-08-04 21:38:22 +08:00
    @Hysteria FastImageCache确实牛b,整合了下神秒杀。
    Hysteria
        10
    Hysteria  
       2014-08-05 03:10:57 +08:00
    @satanwoo = - =。我就说嘛,当时我就用FastImageCache,而且在CollectionView里面用缩略图,性能确实很IMBA撒。现在恭喜了撒,哈哈。期待你的APP。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2008 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 16:18 · PVG 00:18 · LAX 08:18 · JFK 11:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.