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

相关文章

Android 12解决push framework.jar无法开机的方法小结

《Android12解决pushframework.jar无法开机的方法小结》:本文主要介绍在Android12中解决pushframework.jar无法开机的方法,包括编译指令、框架层和s... 目录1. android 编译指令1.1 framework层的编译指令1.2 替换framework.ja

Android开发环境配置避坑指南

《Android开发环境配置避坑指南》本文主要介绍了Android开发环境配置过程中遇到的问题及解决方案,包括VPN注意事项、工具版本统一、Gerrit邮箱配置、Git拉取和提交代码、MergevsR... 目录网络环境:VPN 注意事项工具版本统一:android Studio & JDKGerrit的邮

Android实现定时任务的几种方式汇总(附源码)

《Android实现定时任务的几种方式汇总(附源码)》在Android应用中,定时任务(ScheduledTask)的需求几乎无处不在:从定时刷新数据、定时备份、定时推送通知,到夜间静默下载、循环执行... 目录一、项目介绍1. 背景与意义二、相关基础知识与系统约束三、方案一:Handler.postDel

慢sql提前分析预警和动态sql替换-Mybatis-SQL

《慢sql提前分析预警和动态sql替换-Mybatis-SQL》为防止慢SQL问题而开发的MyBatis组件,该组件能够在开发、测试阶段自动分析SQL语句,并在出现慢SQL问题时通过Ducc配置实现动... 目录背景解决思路开源方案调研设计方案详细设计使用方法1、引入依赖jar包2、配置组件XML3、核心配

Java NoClassDefFoundError运行时错误分析解决

《JavaNoClassDefFoundError运行时错误分析解决》在Java开发中,NoClassDefFoundError是一种常见的运行时错误,它通常表明Java虚拟机在尝试加载一个类时未能... 目录前言一、问题分析二、报错原因三、解决思路检查类路径配置检查依赖库检查类文件调试类加载器问题四、常见

Java注解之超越Javadoc的元数据利器详解

《Java注解之超越Javadoc的元数据利器详解》本文将深入探讨Java注解的定义、类型、内置注解、自定义注解、保留策略、实际应用场景及最佳实践,无论是初学者还是资深开发者,都能通过本文了解如何利用... 目录什么是注解?注解的类型内置注编程解自定义注解注解的保留策略实际用例最佳实践总结在 Java 编程

Python中的Walrus运算符分析示例详解

《Python中的Walrus运算符分析示例详解》Python中的Walrus运算符(:=)是Python3.8引入的一个新特性,允许在表达式中同时赋值和返回值,它的核心作用是减少重复计算,提升代码简... 目录1. 在循环中避免重复计算2. 在条件判断中同时赋值变量3. 在列表推导式或字典推导式中简化逻辑

Python 交互式可视化的利器Bokeh的使用

《Python交互式可视化的利器Bokeh的使用》Bokeh是一个专注于Web端交互式数据可视化的Python库,本文主要介绍了Python交互式可视化的利器Bokeh的使用,具有一定的参考价值,感... 目录1. Bokeh 简介1.1 为什么选择 Bokeh1.2 安装与环境配置2. Bokeh 基础2

Android使用ImageView.ScaleType实现图片的缩放与裁剪功能

《Android使用ImageView.ScaleType实现图片的缩放与裁剪功能》ImageView是最常用的控件之一,它用于展示各种类型的图片,为了能够根据需求调整图片的显示效果,Android提... 目录什么是 ImageView.ScaleType?FIT_XYFIT_STARTFIT_CENTE

Android实现在线预览office文档的示例详解

《Android实现在线预览office文档的示例详解》在移动端展示在线Office文档(如Word、Excel、PPT)是一项常见需求,这篇文章为大家重点介绍了两种方案的实现方法,希望对大家有一定的... 目录一、项目概述二、相关技术知识三、实现思路3.1 方案一:WebView + Office Onl