小编Sim*_*mpa的帖子

SwiftyJSON性能问题

我遇到了严重的性能问题,使用我们的API从SwiftyJson解析JSON并填充核心数据.

这些数据是用Alamofire下载的,它运行得很好,但用SwiftyJson解析json的速度很慢.为了查看库是否确实存在问题,我重写了在解析数据的众多地方之一的json解析.在下面的代码中,我正在分析大约400个旅游景点之一的开放时间.

查看这些屏幕截图中的差异,7,7秒到185毫秒:

在此输入图像描述

在此输入图像描述

Swifty方式:

    let openDescription:String = json["OpeningHours"]["OpeningHoursGenericExceptions"].string!
    let monOpen:[String]    = json["OpeningHours"]["Monday"]["From"].string!.componentsSeparatedByString(":")
    let monClose:[String]   = json["OpeningHours"]["Monday"]["To"].string!.componentsSeparatedByString(":")
    let tueOpen:[String]    = json["OpeningHours"]["Tuesday"]["From"].string!.componentsSeparatedByString(":")
    let tueClose:[String]   = json["OpeningHours"]["Tuesday"]["To"].string!.componentsSeparatedByString(":")
    let wedOpen:[String]    = json["OpeningHours"]["Wednesday"]["From"].string!.componentsSeparatedByString(":")
    let wedClose:[String]   = json["OpeningHours"]["Wednesday"]["To"].string!.componentsSeparatedByString(":")
    let thuOpen:[String]    = json["OpeningHours"]["Thursday"]["From"].string!.componentsSeparatedByString(":")
    let thuClose:[String]   = json["OpeningHours"]["Thursday"]["To"].string!.componentsSeparatedByString(":")
    let friOpen:[String]    = json["OpeningHours"]["Friday"]["From"].string!.componentsSeparatedByString(":")
    let friClose:[String]   = json["OpeningHours"]["Friday"]["To"].string!.componentsSeparatedByString(":")
    let satOpen:[String]    = json["OpeningHours"]["Saturday"]["From"].string!.componentsSeparatedByString(":")
    let satClose:[String]   = json["OpeningHours"]["Saturday"]["To"].string!.componentsSeparatedByString(":")
    let sunOpen:[String]    = json["OpeningHours"]["Sunday"]["From"].string!.componentsSeparatedByString(":")
    let sunClose:[String]   = json["OpeningHours"]["Sunday"]["To"].string!.componentsSeparatedByString(":")
Run Code Online (Sandbox Code Playgroud)

本土方式:

    var monOpen:[String] = []
    var monClose:[String] = []
    var tueOpen:[String] = []
    var tueClose:[String] = …
Run Code Online (Sandbox Code Playgroud)

json ios swift swifty-json

15
推荐指数
1
解决办法
3383
查看次数

用于高分辨率手持设备的可绘制文件夹

我无法弄清楚如何为新的"高分辨率"手持设备生产可绘制的产品,如Galaxy Nexus,One X,Galaxy S3等,分辨率为1280x720或更高.

我总是尝试制作尽可能少的布局版本.优选地,仅需要一个但有时需要布局长且不长.并使xml足够智能以处理所有设备.但是,只有可绘制的资源能够提供所有不同的分辨率和大小,才有可能.

一切都很顺利,直到新的大手机到来,我发现它们的抽屉很小.还没有来自谷歌的xxhdpi文件夹,所以我一定做错了.

我知道这里禁止提及像素,但你仍然必须使用photoshop或其他一些基于像素的应用来制作drawables.因此,您需要知道制作这些绘图的大小.

这就是我到目前为止所做的:

xhdpi:640x960

hdpi:480x640

mdpi:320x480

ldpi:240x320

问题是,当1280x720设备从xhdpi文件夹中获取drawable时,事情开始看起来很糟糕,图像太小而且它们之间的空间太大.

你的可绘制源文件是什么?xhdpi在1028x720?这给我带来了较低分辨率的版本.

我有一个广告公司在我的脖子上呼吸,想知道为什么它看起来不像iPhone那样完美......

photoshop android resolution screens drawable

5
推荐指数
1
解决办法
4436
查看次数

标签 统计

android ×1

drawable ×1

ios ×1

json ×1

photoshop ×1

resolution ×1

screens ×1

swift ×1

swifty-json ×1