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协程高级用法大全

《Android协程高级用法大全》这篇文章给大家介绍Android协程高级用法大全,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友跟随小编一起学习吧... 目录1️⃣ 协程作用域(CoroutineScope)与生命周期绑定Activity/Fragment 中手

Android 缓存日志Logcat导出与分析最佳实践

《Android缓存日志Logcat导出与分析最佳实践》本文全面介绍AndroidLogcat缓存日志的导出与分析方法,涵盖按进程、缓冲区类型及日志级别过滤,自动化工具使用,常见问题解决方案和最佳实... 目录android 缓存日志(Logcat)导出与分析全攻略为什么要导出缓存日志?按需过滤导出1. 按

DNS查询的利器! linux的dig命令基本用法详解

《DNS查询的利器!linux的dig命令基本用法详解》dig命令可以查询各种类型DNS记录信息,下面我们将通过实际示例和dig命令常用参数来详细说明如何使用dig实用程序... dig(Domain Information Groper)是一款功能强大的 linux 命令行实用程序,通过查询名称服务器并输

Linux中的HTTPS协议原理分析

《Linux中的HTTPS协议原理分析》文章解释了HTTPS的必要性:HTTP明文传输易被篡改和劫持,HTTPS通过非对称加密协商对称密钥、CA证书认证和混合加密机制,有效防范中间人攻击,保障通信安全... 目录一、什么是加密和解密?二、为什么需要加密?三、常见的加密方式3.1 对称加密3.2非对称加密四、

MySQL中读写分离方案对比分析与选型建议

《MySQL中读写分离方案对比分析与选型建议》MySQL读写分离是提升数据库可用性和性能的常见手段,本文将围绕现实生产环境中常见的几种读写分离模式进行系统对比,希望对大家有所帮助... 目录一、问题背景介绍二、多种解决方案对比2.1 原生mysql主从复制2.2 Proxy层中间件:ProxySQL2.3

python使用Akshare与Streamlit实现股票估值分析教程(图文代码)

《python使用Akshare与Streamlit实现股票估值分析教程(图文代码)》入职测试中的一道题,要求:从Akshare下载某一个股票近十年的财务报表包括,资产负债表,利润表,现金流量表,保存... 目录一、前言二、核心知识点梳理1、Akshare数据获取2、Pandas数据处理3、Matplotl

python panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

MySQL中EXISTS与IN用法使用与对比分析

《MySQL中EXISTS与IN用法使用与对比分析》在MySQL中,EXISTS和IN都用于子查询中根据另一个查询的结果来过滤主查询的记录,本文将基于工作原理、效率和应用场景进行全面对比... 目录一、基本用法详解1. IN 运算符2. EXISTS 运算符二、EXISTS 与 IN 的选择策略三、性能对比

MySQL 内存使用率常用分析语句

《MySQL内存使用率常用分析语句》用户整理了MySQL内存占用过高的分析方法,涵盖操作系统层确认及数据库层bufferpool、内存模块差值、线程状态、performance_schema性能数据... 目录一、 OS层二、 DB层1. 全局情况2. 内存占js用详情最近连续遇到mysql内存占用过高导致

Android Paging 分页加载库使用实践

《AndroidPaging分页加载库使用实践》AndroidPaging库是Jetpack组件的一部分,它提供了一套完整的解决方案来处理大型数据集的分页加载,本文将深入探讨Paging库... 目录前言一、Paging 库概述二、Paging 3 核心组件1. PagingSource2. Pager3.