草庐IT

Invalidate

全部标签

android - DataSource.Invalidate() 之后新的 PagedList 只有一页

我有一个带有分页的列表,它是使用Paging库实现的。可以修改(更改/删除)此列表中的项目。据官方documentation,我首先更改内存列表缓存,我的DataSource从中获取页面,然后调用datasource.invalidate()以创建新的对PagedList/数据源:Ifyouhavemoregranularupdatesignals,suchasanetworkAPIsignalinganupdatetoasingleiteminthelist,it'srecommendedtoloaddatafromnetworkintomemory.Thenpresentthatd

android - 多次调用 requestLayout 或 invalidate 是否会影响性能?

为了移动View,我调用了setX、setY和其他一些设置宽度和高度的函数,并在每个函数的末尾调用invalidate或requestLayout。因此,每个用户事件都会多次调用invalidate和requestLayout。这会触发每个用户事件的多个布局/绘制吗? 最佳答案 当然不是,我们可以在ViewRootImpl中看到代码voidinvalidate(){mDirty.set(0,0,mWidth,mHeight);if(!mWillDrawSoon){scheduleTraversals();}}使设置的脏区无效,并调用

android - Invalidate() 实际上并没有重绘 child

所以,我有一个非常奇怪的设置,并且我从中得到了一些奇怪的视觉错误。基本上,我在相对布局中有两个View:第一个只是一个ImageView背景图像;第二个是相同的背景图像,但模糊以产生一种毛玻璃后面的效果:...模糊背景应该只在向上滚动的HalvedLinearLayout_View后面,所以我需要模糊背景在HalvedLinearLayout_上方屏蔽自己,这样非模糊背景就会显示出来:scrolly=((ScrollView)rootView.findViewById(R.id.scrolly));scrolly.setOnScrollListener(newScrollView.On

Android toggleButton.setOnText 和 .invalidate 不刷新文本

我有这样的方法:ToggleButtontoggle=((ToggleButton)findViewById(R.id.toggle));toggle.setTextOn("blah");toggle.setTextOff("blahblah");toggle.invalidate();//doesn'twork?此方法从onOptionsItemSelected调用。切换按钮位于一个LinearLayout内,而该LinearLayout位于另一个LinearLayout内。我希望在调用该方法后立即更新文本。相反,只有在我手动按下切换状态后,切换按钮上的文本才会更新。我在这里错过了什

android - 调用 invalidate(Rect) 时,ImageView 如何只重绘其部分内容?

我是Android开发的新手,只是阅读文档并尝试蜜蜂。我很困惑ImageView是如何设法绘制一部分的无效(Rect)调用后的内容。我检查了ImageView.java,发现除了onDraw(Canvas),但是onDraw(Canvas)只有在drawable是超出View的可见边界。我还阅读了View.invalidate(Rect)的实现,我认为这个函数的关键是调用mParent.invalidateChild(this,r);但是,我认为父View不知道如何绘制subview给定的Rect,它最终必须调用它的子方法来画出来。有人研究过这部分代码吗?你能给我吗一些指南?

idea-Invalidate caches选项

 ClearfilesystemcacheandLocalHistory:清除IntelliJIDEA缓存和本地历史记录,注意要保存现有的信息ClearVCSLogcachesandindexes:removethecacheandindexesoftheVCSLog.这个选项的意思是清除版本控制系统日志的缓存和索引。VCSLog是IntelliJIDEA中用于显示版本控制系统(例如Git或SVN)历史记录的工具。它会缓存一些数据以提高性能,但有时候这些缓存可能会导致问题。如果您在使用VCSLog时遇到了问题,例如无法正确显示提交历史记录或者出现错误信息,那么清除缓存和索引可能会有所帮助。请注

android - 为什么要使用 "invalidate"这个词来请求重绘 View ?

在GUI中,当需要重绘View时。我们通常这样做:Viewv=View();v.invalidate()我不知道操作“invalidate()”是这样命名的。在英语中,“invalidate”的意思是使某事无效。但是GUI编程中的“invalidateaview”是指让View重绘。我不是以英语为母语的人。请给我提示。谢谢。 最佳答案 “使View无效”意味着任何可能已经绘制的数据不再有效。数据View无效,因此invalidate()将其标记为无效。与其说是函数使它无效,不如说它已经无效,但除了invalidate()的调用者之外

android - 为什么invalidate后直接调用requestLayout

我正在学习自定义View并想了解invalidate()和requestLayout()。请引用这个答案及其图表:https://stackoverflow.com/a/25846243/4243687invalidate()告诉AndroidView的状态已经改变,需要重新绘制。requestLayout()表示View的尺寸可能已经改变,需要重新测量,然后重新绘制。invalidate()将调用dispatchDraw()、draw()和onDraw()因此它重新呈现View。另一方面,requestLayout()几乎完成了从测量到重新渲染的所有工作。为什么有那么多示例(甚至是T

Django + 雷迪斯 : How to invalidate cache for just one specific element

在我正在开发的网站中,用户可以提交图像(头像)。当用户想要更新他们的图片时,上传的图片会被调整大小、优化并生成一些缩略图。只有经过处理后,图像才会显示在网站中。我打算使用redis来长时间缓存图片,当上述过程完成后,我想只对上传的图片使缓存失效。我找不到教我们如何实现这些目标的文档/教程。有人能给我指点一些教程/文档来解释如何缓存图像以及如何使特定图像的缓存无效吗?谢谢。 最佳答案 您可以使用solr-thumbnail包来完成所有这些工作,包括缓存。您也可以将redis定义为kvstore。Docshere

ios - timer.invalidate() 无法在 Swift 中处理同一 View

我正在使用Swift开发一个使用计时器的应用程序,所以我将这段代码用于计时器vartimer=NSTimer()timer=NSTimer.scheduledTimerWithTimeInterval(1.0,target:self,selector:Selector("updateTimeLabel"),userInfo:nil,repeats:true)我的问题是,当这个游戏完成时,一个View显示为当前View的subview,并且计时器使用timer.invalidate()并且在这个subview上有一个开始新游戏的按钮,当按下这个按钮时,一个新游戏开始,但是计时器从它停止的