当前位置:首页 > 英文周记 > 正文内容

invalidate「invalidated翻译」

更新时间:2026-07-18 05:09:05 周记网3年前 (2023-02-17)英文周记133

invalidate和postInvalidate 的区别及使用

android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自身中使用,而后者在非UI线程中使用。

invalidate「invalidated翻译」

Android提供了Invalidate方法实现界面刷新,但是Invalidate不能直接在线程中调用,因为他是违背了单线程模型:Android UI操作并不是线程安全的,并且这些操作必须在UI线程中调用。

Android程序中可以使用的界面刷新方法有两种,分别是利用Handler和利用postInvalidate()来实现在线程中刷新界面。

利用invalidate()刷新界面

实例化一个Handler对象,并重写handleMessage方法调用invalidate()实现界面刷新;而在线程中通过sendMessage发送界面更新消息。

Java代码

Invalidate(FALSE)表示什么

Invalidate(false)表示不擦除背景,直接画。

Invalidate标记一个需要重绘的无效区域,并不意味着调用该函数后就立刻进行重绘。类似于PostMessage(WM_PAINT),需要处理到WM_PAINT消息时才真正重绘。以为您Invalidate之后还有其他的语句正在执行,

程序没有机会去处理WM_PAINT消息,但当函数执行完毕后,消息处理才得以进行。Invalidate只是放一个WM_PAINT消息在队列里,不做别的,所以只有当当前函数返回后,进入消息循环,取出WM_PAINT,才执行PAINT,所以不管Invalidate放哪里,都是最后的。

扩展资料

Invalidate(FALSE)与Invalidate(TRUE)区别

使用Invalidate(FALSE)函数时,它只会向消息队列中添加了WM_PAINT消息。

使用Invalidate(TRUE)函数时,它会向消息队列中添加了WM_ERASEBKGND和WM_PAINT两个消息。

WM_ERASEBKGND消息的作用以背景色填充客户区,因此他会将之前绘制的图像情况,然后响应WM_PAINT消息后,会调用OnPaint函数,进行响应图像绘制工作。故Invalidate(TRUE)相当于将原来画的内容清空后,重新绘制。

android中Invalidate和postInvalidate的区别

Invalidate和postInvalidate和requestLayout都是用来刷新view控件的:

主线程可以直接调用Invalidate()方法刷新。

子线程可以直接调用postInvalidate()方法刷新。

API的描述是这样的 : Invalidatethe whole view. If the view is visible, onDraw(Canvas) will be called at somepoint in the future. This must be called from a UI thread. To call from anon-UI thread, call postInvalidate().。当Invalidate()被调用的时候,View的OnDraw()就会被调用,Invalidate()必须是在UI线程中被调用,如果在新线程中更新视图的就调用postInvalidate()。

Invalidate()的作用是什么

作用:使整个窗口客户区无效,此时就需要重绘,这个就会自动调用窗口类的OnPaint函数,OnPaint负责重绘窗口。

Java的工作原理由四方面组成:

1、Java编程语言

2、Java类文件格式

3、Java虚拟机

4、Java应用程序接口

扩展资料:

Java技术的应用:

1、Android应用:许多的 Android应用都是Java程序员开发者开发。虽然 Android运用了不同的JVM以及不同的封装方式,但是代码还是用Java语言所编写。

2、在金融业应用的服务器程序:Java在金融服务业的应用非常广泛,很多第三方交易系统、**、金融机构都选择用Java开发,因为相对而言,Java较安全。

3、网站:Java 在电子商务领域以及网站开发领域占据了一定的席位。开发人员可以运用许多不同的框架来创建web项目,SpringMVC,Struts2.0以及frameworks。

4、嵌入式领域:Java在嵌入式领域发展空间很大。在这个平台上,只需130KB就能够使用Java技术(在智能卡或者传感器上)。

参考资料来源:百度百科-java

invalidate是什么意思

invalidate

英 [ɪn'vælɪdeɪt]

美 [ɪn'vælɪdet]

vt. 使无效;

使无价值

标签: invalidate

“invalidate「invalidated翻译」” 的相关文章

invalidate「invalidate cachesrestart」

invalidate「invalidate cachesrestart」

invalidate和postInvalidate 的区别及使用 android中实现view的更新有两组方法,一组是invalidate,另一组是postInvalidate,其中前者是在UI线程自...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。