[基于HTML5的拓扑图编辑器] – Graph.Editor

数量可视化是平等桩有趣的干活,冰冷的数码化美观的图样,如同命令行之于Mac
OS
X图形界面的,传统的图片组件为图片(Chart)居多,不少了不起的开源或者商业的著述,
比如d3js, echarts,
highcharts,而拓扑图、流程图组件相对少一些,知名的有yfiles,本项目则基于Qunee图形组件,是Qunee的恢宏类型,旨在为客户提供可供应扩展的拓扑图编辑工具,
提供拓扑图展示、编辑、导出、保存等功能,此外据档为是读HTML5付出,构建WebAPP项目之参阅实例。
注意:本项目内核使用Qunee for HTML5,Qunee本身是一个商业产品,默认仅限本机(localhost)使用,非商业用途可以申请免费授权,商业用途请购买相应授权,官网:qunee.com

2.6 考虑下绘图函数

  • 减了图片的使用, 适当考虑.

拓扑图编辑器项目 – Graph.Editor
正式公布到github了,欢迎访问、提取和贡献代码

2.8 使用Shadow Path设置阴影

路地址:https://github.com/samsha/graph.editor
在线演示:http://demo.qunee.com/editor/
Graph.Editor是平等悠悠基于HTML5技巧之拓补图编辑器,采用jquery插件的款型,是Qunee图形组件的扩展类型,旨在提供可供应扩展的拓扑图编辑工具,
拓扑图展示、编辑、导出、保存等效果,此外据项目为是学习HTML5开发,构建WebAPP项目之参阅实例。

6.8 启用连接器优化

  • 透过LTO进行连接优化。普通的装,只是于单个.m文件内展开优化,启用该选项后,会以列之大局范围外开展优化。

6.9 使用Accelerate框架

  • 此库里提供了众多数学函数库,可以帮你升级性能。

3.2 小心在线程里大量底分配内存空间

  • 堆是来锁的, 每一个天天, 只能有一个线程进行内存分配操作.

4. 网络

2.5 重用或者懒加载Views

  • 这没有啥好说的… …

6.6 避免下Date Formatters

  • 立货性能非常不同

1.3 处理操作系统的内存警告

  • 实际这不克算得性能问题, 而是你的使在前台会挂掉,
    或者吃网由后台清理掉.
  • 苟只要做一个大好的iOS app, 工程师的天职,
    就是尽可能的优化App的性能.
  • 本文绝大多数情出自Macelo
    Fabri的文章,
    重新进行了组织.
  • 正文没有提Instruments,但是,它其实是性质优化的前提。他正使易学着的诊断等,下面列有的还是治病的配方。

1.4 使用 Autorelease Pool

6.7 启用编译器优化增选

  • 默认的优化器选项是 -Os, 最抢最小。
    但是如果未是特别进行科学计算的利用,你得运用-Ofast,如果急需IEEE浮点运算,则足以行使-O3。这半独挑选通常就会增加百分之几之运用体积,但是性能会强烈提升。

6.5 减少启动时间

  • 眼看对准运用经验颇重要

1.2 选用合适的聚集

  • NSArray, NSet, NSDictionary, 适用场景不同, 谨慎挑选择.

4.2 减少非必要之Web数据传

  • 一旦仅待用户称与头像, 就转变把性别, 城市, 兴趣爱好什么一起传过来.

6.4 选择恰当的数量格式(XML, JSON)

  • 貌似的话xml数据大, 但是支撑校验, 支持SAX解析, json数据小.

2.4 保证Images和UIImageView的大小一样(别缩放)

  • 假定就两头尺寸未雷同, 显示的早晚就是见面生缩放. 缩放是耗时操作,
    在滚动视图中尤为耗时.

2.9 优化你的Table Views

6.1缓存

  • 透过内存, 文件系统, 数据库对纱数据等展开缓存,
    是提高性能的免次效仿虽. 空间纬度上更为拢, 访问进一步快.

5.1. 抉择正确的数码存储方

  • NSUserDefaults
  • 结构化文件: XML, JSON, or Plist format
  • 归档: Archive using NSCoding
  • 数据库: SQLite
  • Core Data.

  • 其他


2.3 避免大要命的XIBs文件

  • 即使你只有以了XIBs文件被的一个view, 系统于加载XIBs文书之时节,
    也会所有加载. 所以尽量保证每个XIBs文件被仅出一个View.
    但是StoryBoard没有这题目, 如果要拿多独View放在同,
    尽量使用StoryBoard.

4.1 启用GZIP 压缩

  • iOS和Web服务器对GZIP的支撑特别好, 尤其对于文本类(Json,
    XML)的压缩率很高, 能减小至本的1/5横, 所以值得采用.

6.2 重用创建代价十分死的目标

  • 匪待解释, 这吗是干吗单例模式的存在.

2.2 尽可能设置Views 为 Opaque(不透明)

  • 而你的View不是晶莹剔透底, 那便显式的安装Opaque为YES,
    这样系统于绘制的时节, 就足以进行自然的优化. 虽然设置起来特别麻烦,
    但是尽可能多之装吧.

5. 持久化

1. 内存

2.1 尽量使 reuseIdentifier

  • 对此UITableView和UICollectionView中的Cell等, 使用reuseIdentifier,
    可以避每次都再也创设Cell.

2.7 采用合适的招数设置背景图片

  • 对于再次铺满的背景图片, 可以行使UIColoer进行设置.

3.1 不要阻塞主线程

  • 主线程在处理UI, 如果进行耗时操作, 发生了不通, 就等正卡吧.

3. 多线程

6.3 避免再次处理多少

  • 遵解析Json数据, 比如计算表格高度

2. UI

1.1 使用ARC管理内存

每当大部分情形下, 都应该运用ARC, 因为:

  • 应用ARC, 当你的目标无须经常, 系统会快的扶您进行release.
    MRC的语句未必能够保证.
  • 行使ARC, 能帮你减少内存泄露.