草庐IT

undo-redo

全部标签

android - 如何在 Canvas 绘画中实现 UNDO 功能后更改绘画颜色/描边

在我的画图应用程序中,我实现了UNDO功能,并且运行良好。但是,如果更改画笔颜色(或)画笔笔触,那么我之前绘制的所有路径都会更改为新的画笔颜色。代码如下:publicclassCustomViewextendsViewimplementsOnTouchListener{publicCanvasmCanvas;privatePathmPath;publicPaintmPaint,mBitmapPaint;BitmapmBitmap;Canvascanvas;publicArrayListpaths=newArrayList();publicArrayListundonePaths=new

[MySQL]事务原理之redo log,undo log

🌈键盘敲烂,年薪30万🌈目录一、log日志文件📕事务执行流程📕redolog📕undolog二、总结👀再来一遍ACID1.原子性:原子性确保事务作为一个整体执行,要么全部执行成功,要么全部不执行。2.一致性:一致性确保事务将数据库从一个状态转换为另一个状态。3.隔离性:隔离性确保并发执行的多个事务互相隔离。4.持久性:事务一旦提交,其修改将永远保存在数据库中。一、log日志文件📕事务执行流程为什么会有日志❓先说结论:  数据库日志的存在是为了确保事务的持久性,支持故障恢复和并发控制,并提供回滚、撤销以及备份和恢复的功能。日志记录了对数据库的操作,使得数据库系统能够有效地管理数据的修改和恢复。确

android - 如何在EditText中执行Redo Undo操作

我想知道是否有任何方法或任何链接或教程可以在Androidedittext中执行重做撤消操作。如果有人知道,请告诉我。 最佳答案 关于Antti-Brax的快速说明/Divers(Kidinov)解决方案。它工作得很好,除非你尝试将它与TextViewpost-API23一起使用,否则你会遇到问题,因为你猜怎么着,谷歌实际上添加了一个隐藏的UndoManager(android.content.UndoManager)并且没有记录它或让它明显存在。但是,如果您在Marshmallow或Nougat中使用硬/蓝牙键盘并按下^Z或SHI

android - 解释 Logcat 条目 : threadid=8: still suspended after undo (sc=1 dc=1 s=Y)

在我的应用程序启动后,我运行了大约十个AsyncTasks。有时模拟器需要很长时间才能启动这些任务。发生这种情况时,我会在日志cat中看到以下消息:D/dalvikvm(1983):threadid=8:撤消后仍然挂起(sc=1dc=1s=Y)当模拟器快速执行时,不会出现此消息。奇怪的是,这种行为今天发生了变化,没有任何修改。由于我已经明确地为模拟器分配了512mb内存,它不再非常慢~5分钟,现在是~5秒。在真实设备上,我的执行速度从来没有这么慢。我想了解这条日志猫消息的含义。我知Prop有指定id的线程已暂停并且在此状态下不工作。但为什么?撤消后?(sc=1dc=1s=Y)是什么意思

详解 MySQL 三种日志 ( binlog、redo log 和 undo log ) 及其作用

前言MySQL日志主要包括错误日志、查询日志、慢查询日志、事务日志、二进制日志几大类。其中,比较重要的还要属二进制日志binlog(归档日志)和事务日志redolog(重做日志)和undolog(回滚日志)。今天就来聊聊redolog(重做日志)、binlog(归档日志)、两阶段提交、undolog(回滚日志)。redologredolog(重做日志)是InnoDB存储引擎独有的,它让MySQL拥有了崩溃恢复能力。比如MySQL实例挂了或宕机了,重启时,InnoDB存储引擎会使用redolog恢复数据,保证数据的持久性与完整性。MySQL中数据是以页为单位,你查询一条记录,会从硬盘把一页的数据

php - Web 应用程序中的 "Undoing deletes"?

我看到越来越多的网站在按下删除按钮后提供撤消选项。按钮背后的逻辑是如何完成的?项目是否被javascript删除并从用户屏幕上“消失”并添加了计划删除,让用户有时间撤消它,或者它是如何工作的?为用户提供撤消功能的其他选项是什么? 最佳答案 这实际上取决于应用程序的结构。一种常见的方法是不删除记录/项目,但在内部将其标记为已删除(使用bool列),将其从所有查询和列表中排除。如果您有节点结构,您可能希望将项目移动到“回收站”节点,从那里可以将项目恢复到其原始位置。在这两种变体中,已删除的项目会不时清除-基于时间(3周后删除)或数量(最

ios - 核心数据 : disable undo for specific attributes. 推荐的方法不起作用

我有一个文本字段和一个复选框,由核心数据支持。对复选框的更改不应进行任何撤消/重做操作。推荐的方法(在堆栈溢出中找到)是以下代码段。@IBActionfuncstateDidChange(sender:NSButton?){//disableundomanagercontext.processPendingChanges()context.undoManager?.disableUndoRegistration()//setvalueletvalue=Bool(sender!.state==NSOnState).flag=value//enableundomanagercontext.

java - 如何在文本编辑器中设计撤销和重做?

我项目的一部分是编写一个文本编辑器,用于输入一些规则、编译我的应用程序并运行它。编写编译器结束并发布测试版。在最终版本中,我们必须向文本编辑器添加撤消和重做。我使用一个文件并定期为文本编辑器保存它。如何为我的文本编辑器设计撤消和重做?文件的持久化结构发生了什么变化? 最佳答案 您可以将您的操作建模为commands,你把它分成两堆。一个用于撤消,另一个用于重做。你可以compose您的命令以创建更多高级命令,例如当您想要撤消宏的操作时;或者,如果您想在一次操作中对单个单词或短语的单个击键进行分组。编辑器中的每个Action(或重做A

java - Java ReDos 易受攻击吗?

我试图重新创建regularexpressiondenialofserviceattackusing(a+)+regexpandaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa!(withlargeamountsofa)inputusingjshell:Pattern.compile("(a+)+").matcher("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa

分布式事务Seata源码解析十:AT模式回滚日志undo log详细构建过程

文章目录一、前言二、准备undolog0、undolog样例1)undolog表结构2)rollback_info(回滚日志数据)1、beforeimage的构建1)业务表元数据信息TableMeta1>Caffeine缓存数据获取2>Caffeine缓存自动刷新2)beforeimage查询SQL3)构建before表记录TableRecords2、afterimage的构建3、beforeimage和afterimage封装到SqlUndoLog三、持久化undo