Android 源码分析,FreeMind 是一件超级利器

2024-01-08 20:48

本文主要是介绍Android 源码分析,FreeMind 是一件超级利器,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Android 源码分析,FreeMind 是一件超级利器


思维导图软件 XMind 与 FreeMind 的对比

作者: 善用佳软  日期: 2012-04-17  分类: 1 文本办公, 1.5 思维导图   标签: mindmap

思维导图类软件中,最有影响力的开源免费软件是 FreeMind 和 XMind。FreeMind历史悠久,当属经典;XMind作为后起之秀,大有赶超之势。同作为免费、开源的思维导图解决方案,应如何选择/结合两款软件?本文试做分析,以供用户/开发者参考。
Freemind XMind
本文的分析基于Windows平台下的 FreeMind 0.90 RC3 和 XMind 3.03,结合笔者的使用经验,也包括XMind开发者所提供的信息。基本结论是:总体看,XMind 已超越 FreeMind;个别方面,FreeMind 值得 XMind 学习

 FreeMind 0.90 RC3XMind 3.03
官方主页http://freemind.sourceforge.net/http://www.xmind.net/
本站介绍文章FreeMind 介绍XMind 介绍
体积(仅安装目录)16MB40 MB
内存占用(不打开任何文档)45 MB75 MB

一、XMind 与 FreeMind 的相同/相通之处

– 都是免费、开源、基于 Java。
– 都满足绘制思维导图的基本甚至高级功能。
– 相通之处:XMind 可以导入/导出 FreeMind 格式;反之不能。

二、XMind 与 FreeMind 比较

1. XMind: 更丰富的结构且支持混用

FreeMind:只支持一种逻辑图(水平)结构。
XMind:在逻辑图之外,还支持组织结构图(竖直)、树状图(水平+竖直)、思维导图(辐射)、鱼骨图、二维图(表格)。不仅如此,还能在一个文档中组合使用多种表达形式。实用举例:整个项目管理用逻辑图,人员安排部分用组织结构图,风险及应对采用鱼骨图,进度部分用二维图。

2. XMind: 支持自由节点因而支持多图

FreeMind:只能有一棵树,即:根节点唯一,其他节点必须直接或间接放在根节点下。
XMind:允许在主树之外创建自由节点(应用举例:把“文档作者/创建日期”作为自由节点,补充思维导图信息);由于自由节点也是可以增加子节点的,所以可产生第二棵、第N棵新树。

3. FreeMind: 根节点仍可以插入父节点

需求:在绘完的导图上再加一层。比如,最初建立了“唐诗”导图,现在要扩展到“唐宋文学”,即“唐诗”根节点要降至二级节点。
XMind:顶级的自由节点之间是可以互为子节点的,但原来的根节点(XMind称为中心主题)则不能拖到其他节点上。满足上述需求,就要新建文档,以“唐宋文学”为根节点,然后导入或粘贴原有内容。
FreeMind:支持根节点上插入“父节点”。
建议:XMind的“根节点”比FreeMind减少了一份特殊性,即允许其他节点独立于此;但仍包留了另一份特殊性,不能成为其他节点的子节点。从使用角度,建议取消此限制,即:任何节点本身是一样的,彼此之间为父子关系。——或许有技术限制,但节点/层级的平等灵活是XML的精神。

4. XMind 支持附件, FreeMind 全为链接

FreeMind:可以有超链接到外部文档和图片,也可以显示外部的图片。但这些资源都只是 .mm文件中的链接url,并非素材本身。即,.mm是纯文本的xml,包括 FreeMind 的图标也是以ID数字标示。
XMind:支持上述链接方式,也支持(默认)把该文档及图片引入XMind文件作为附件,形成完整的资料包。 .xmind 格式与OOo文档一样,实质是 xml+素材 的zip包。展开后的内容举例如下:

attachments\
attachments\4hm2upmpscpth85latqpd49biq.png
attachments\179ekuhhgn9g866cg5a26b78fh.pdf
META-INF\
META-INF\manifest.xml
Thumbnails\
Thumbnails\thumbnail.jpg
content.xml
meta.xml
styles.xml

5. 发布思维导图方面,XMind 要向 FreeMind 学习

(1)能导出哪些格式

– XMind 免费版:FreeMind、html、图片(bmp/jpg/gif/png)、纯文本
– XMind Pro:以上 + MindManager、pdf(普通/思维图)、ppt/doc/rtf (截屏)
– FreeMind:各种html、flash、pdf、OpenOffice文档、png/jpg、svg/twiki等格式 (截屏)

(2)我关注的导出格式、比较、说明

– 静态图片:思维导“图”当然要能导出静态图片,这是最低需求。实在不能导出,截屏亦可。只是内容太多超过一屏时,截屏就不太方便了。图片可用于网页发布,也可用于其他文档(pdf/office)。格式方面,强烈不推荐bmp/jpg,推荐png/gif格式,原因见此。这方面,XMind与FreeMind持平。

– pdf 文档发布:相比图片的优点是,放大后文字仍然清晰。如果内容太多,导出一页的pdf发给别人,无论用于打印还是放大查看,都比图片的效果好很多。对比结果:XMind Pro(未用过)> FreeMind(够用)> XMind(无)

– 广义html导出:FreeMind 遥遥领先,详细见下。

(3)广义html导出的详细比较

结论:广义html/flash式导出,目的是在线发布后,仍保留折叠/展开动态效果,及链接功能。这方面,FreeMind 遥遥领先,远胜 XMind。
XMind:导出的html包括图片和节点文字。但图与文字无链接;文字层级也不能折叠;图片默认为jpg,强烈建议换为png。
FreeMind:可采用不同技术进行导出,每种导出效果都非常好。FreeMind 导出html的格式有:
① html:纯文字方式,节点保留原有格式,层级关系可折叠展开,url链接有效。
② xhtml(javascript):效果同上,只是改用js实现。
③ xhtml(可点击map图片):除了上述文字内容外,还附有图片,并且点击图片的节点可跳转到对应的文字。
④ java applet:功能保留最多的方式。在浏览器中的使用效果近乎在 FreeMind 中打开 .mm文件。
⑤ flash:点击可折叠/展开,链接url有显示但无法点击。

6. FreeMind节点支持html代码

FreeMind:节点支持html代码,实现文字格式化、换行、分段、图像链接、表格。(此外,还支持LaTex代码)
XMind:不能对部分文字分别设定格式,可以shift+enter换行。

7. XMind 具有更好的可持续性

FreeMind作为经典开源软件,虽在持续更新中,但新功能进展并不多。而同作为开源软件的XMind,不仅因为后发优势拥有了更多功能。并且,作为有商业公司支持的开源产品,新功能的开发会更加活跃——这并非迷信商业,而是实际情况,包括两个开发团队的成员也有此认识。
另外,XMind 还提供了更强大的Pro版,可以满足个人和企业的更高需求,并能提供可靠的技术支持。

8. XMind 更美观,FreeMind 更快速省资源

无论用户界面还是思维导图文件,XMind 都更加美观。而 FreeMind 更加简约,占用资源更少,启动和运行速度更快。各取所需即可。

9. 其他差异

FreeMind 可以导入目录结构,相当于变成了资源管理器;XMind不能。
在节点输入较多文字的过程中,XMind的输入框会阶梯式不断加大,而FreeMind会保持同样大小(只显示最右侧部分)。
XMind的节点可以添加标签,以进行过滤筛选;而FreeMind可以根据节点文字进行过滤显示。
注意:XMind导入.mm时,无法识别包含html代码的节点。

三、结论:软件选择建议

大多数人普通用户:XMind。理由:支持逻辑图、二维图等多种表达形式并可混用,更加美观、支持附件。
Geek或偏执者:FreeMind。理由:更节约资源,界面更简朴。
自主网络发布:FreeMind。理由:强大灵活的html导出功能。
不执着于软件,仅执着于最优效果:主用 XMind 辅用 FreeMind。即仅在自主网络发布时另存为FreeMind格式,再用FreeMind导出为html。

(完)
2012-04-18: 更新导出功能比较
2009-11-17: 初稿。

这篇关于Android 源码分析,FreeMind 是一件超级利器的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/584774

相关文章

Redis连接失败:客户端IP不在白名单中的问题分析与解决方案

《Redis连接失败:客户端IP不在白名单中的问题分析与解决方案》在现代分布式系统中,Redis作为一种高性能的内存数据库,被广泛应用于缓存、消息队列、会话存储等场景,然而,在实际使用过程中,我们可能... 目录一、问题背景二、错误分析1. 错误信息解读2. 根本原因三、解决方案1. 将客户端IP添加到Re

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Java汇编源码如何查看环境搭建

《Java汇编源码如何查看环境搭建》:本文主要介绍如何在IntelliJIDEA开发环境中搭建字节码和汇编环境,以便更好地进行代码调优和JVM学习,首先,介绍了如何配置IntelliJIDEA以方... 目录一、简介二、在IDEA开发环境中搭建汇编环境2.1 在IDEA中搭建字节码查看环境2.1.1 搭建步

Redis主从复制实现原理分析

《Redis主从复制实现原理分析》Redis主从复制通过Sync和CommandPropagate阶段实现数据同步,2.8版本后引入Psync指令,根据复制偏移量进行全量或部分同步,优化了数据传输效率... 目录Redis主DodMIK从复制实现原理实现原理Psync: 2.8版本后总结Redis主从复制实

锐捷和腾达哪个好? 两个品牌路由器对比分析

《锐捷和腾达哪个好?两个品牌路由器对比分析》在选择路由器时,Tenda和锐捷都是备受关注的品牌,各自有独特的产品特点和市场定位,选择哪个品牌的路由器更合适,实际上取决于你的具体需求和使用场景,我们从... 在选购路由器时,锐捷和腾达都是市场上备受关注的品牌,但它们的定位和特点却有所不同。锐捷更偏向企业级和专

Android数据库Room的实际使用过程总结

《Android数据库Room的实际使用过程总结》这篇文章主要给大家介绍了关于Android数据库Room的实际使用过程,详细介绍了如何创建实体类、数据访问对象(DAO)和数据库抽象类,需要的朋友可以... 目录前言一、Room的基本使用1.项目配置2.创建实体类(Entity)3.创建数据访问对象(DAO

Spring中Bean有关NullPointerException异常的原因分析

《Spring中Bean有关NullPointerException异常的原因分析》在Spring中使用@Autowired注解注入的bean不能在静态上下文中访问,否则会导致NullPointerE... 目录Spring中Bean有关NullPointerException异常的原因问题描述解决方案总结

python中的与时间相关的模块应用场景分析

《python中的与时间相关的模块应用场景分析》本文介绍了Python中与时间相关的几个重要模块:`time`、`datetime`、`calendar`、`timeit`、`pytz`和`dateu... 目录1. time 模块2. datetime 模块3. calendar 模块4. timeit

python-nmap实现python利用nmap进行扫描分析

《python-nmap实现python利用nmap进行扫描分析》Nmap是一个非常用的网络/端口扫描工具,如果想将nmap集成进你的工具里,可以使用python-nmap这个python库,它提供了... 目录前言python-nmap的基本使用PortScanner扫描PortScannerAsync异

Android WebView的加载超时处理方案

《AndroidWebView的加载超时处理方案》在Android开发中,WebView是一个常用的组件,用于在应用中嵌入网页,然而,当网络状况不佳或页面加载过慢时,用户可能会遇到加载超时的问题,本... 目录引言一、WebView加载超时的原因二、加载超时处理方案1. 使用Handler和Timer进行超