标签: invalidation

NSTimer禁用UIView中的dealloc

@interface someview:UIView{
  NSTimer* timer;
}
@end

@implementation someview

-(void)dealloc{
  NSLog(@"dealloc someview");
  [timer invalidate];
  timer = nil;
}
-(void)runTimer{
//
}
-(void)someMethod{

  timer = [NSTimer timerWithTimeInterval:2.0f target:self selector:@selector(runTimer) userInfo:nil repeats:YES];
}

@end
Run Code Online (Sandbox Code Playgroud)

释放someview不会调用dealloc并且计时器继续运行.

如果我注释掉"timer = [NSTimer schedule ...."部分,将调用dealloc.这意味着我的代码的所有其他部分都正常工作,而计时器是罪魁祸首.runTimer方法是空的,这意味着它只是与我混淆的计时器.

objective-c nstimer uiview invalidation dealloc

9
推荐指数
2
解决办法
3931
查看次数

Android:无效(脏)

看起来Android真的不喜欢invalidate (Rect dirty),它只用于使画布的一部分无效.当我使画布的一部分无效(在下面以绿色显示)并且画布的ToggleButton 外部需要同时重绘时,以红色显示的整个区域将被删除!似乎Android只是使最小矩形内的所有内容无效,包含需要重绘的两个区域的并集,即使其中一个区域位于View的外部,我的画布也无效.

这是标准行为,如果是这样,为什么有人会使用部分失效?

在此输入图像描述

android invalidation android-canvas

9
推荐指数
2
解决办法
5214
查看次数

使JPA EntityManager会话无效

我正在开发的项目使用Spring 2.5和JPA,Hibernate作为提供者.

我的DAO类扩展了JpaDaoSupport,所以我使用getJpaTemplate()方法得到了我的JpaTemplate.

后端数据库可以通过我的应用程序或第三方应用程序进行更改.

当第三方应用程序更改数据库(主要是配置数据更改)时,我需要为我的应用程序的用户提供一种方法来使所有JPA会话无效并重新加载新数据(即在后台使所有hibernate会话无效).这需要我的应用程序的所有并发用户"看到".

我怎样才能做到这一点?

session spring hibernate jpa invalidation

8
推荐指数
1
解决办法
2万
查看次数

为什么自定义视图无效?

我是Android开发的菜鸟,我遇到了使视图无效的问题.我正在使用教程,并没有实现它的问题.但是,当我更改视图的背景时,它仍然会响应,就像之前的背景仍然设置一样.换句话说,我更改了蒙版,但我的"touchview"类没有看到新的蒙版.我没有运气使用invalidate更新视图,我已经验证掩码实际上被重置为背景.任何帮助将不胜感激.

我的代码

@Override
public boolean onMenuItemClick(com.actionbarsherlock.view.MenuItem item) {
    // TODO Auto-generated method stub
    switch (item.getItemId())
    {
        case 1:   // id from the xml file
            if(isMale){
                isMale=false;
                item.setIcon(R.drawable.male_icon);
                imageViewOriginal.setImageResource(R.drawable.woman_front);
                imageViewFlip.setImageResource(R.drawable.woman_back);
                if(isFrontView){
                    myMask.setBackgroundResource(R.drawable.woman_front_mask); //Mask changed here
                }else{
                    myMask.setBackgroundResource(R.drawable.woman_back_mask);  //Mask changed here
                }
            }else{
                isMale=true;
                item.setIcon(R.drawable.female_icon);
                imageViewOriginal.setImageResource(R.drawable.man_front);                   
                imageViewFlip.setImageResource(R.drawable.man_back);
                if(isFrontView){
                    myMask.setBackgroundResource(R.drawable.man_front_mask); //Mask changed here
                }else{
                    myMask.setBackgroundResource(R.drawable.man_back_mask);  //Mask changed here
                }

            }

            touchView.invalidate();
            infoView.invalidate();
            myMask.invalidate(); //Mask View Invalidated here

            return true;   // we handled the click, dont pass it up the chain

        case …
Run Code Online (Sandbox Code Playgroud)

layout android view mask invalidation

8
推荐指数
1
解决办法
7751
查看次数

Swift - 该服务器的证书无效

如何使用 Swift 在 iOS 上修复此问题?当我发出服务器请求时,出现以下错误:

\n\n
\n

该服务器的证书无效。您可能正在连接到冒充 \xe2\x80\x9c...\xe2\x80\x9d 的服务器,这可能会使您的机密信息面临风险。

\n
\n

request invalidation ios swift server

8
推荐指数
2
解决办法
3万
查看次数

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

我是Android开发的新手,只是阅读文档和尝试API.我放弃了在无效(Rect)调用之后ImageView如何设法只绘制其内容的一部分.

我已经检查了ImageView.java,除了onDraw(Canvas)之外没有找到任何其他绘图方法,但onDraw(Canvas)只有在它与视图的可见边界相遇时才切割drawable.我还读了View.invalidate(Rect)的实现,我觉得这个函数的关键是调用mParent.invalidateChild(this,r); 但是,我认为父视图不知道如何在给定的Rect中绘制子节点,它最终必须调用它的一些方法将其绘制出来.

有人调查了这部分代码吗?你能给我一些指导吗?

android view invalidation

7
推荐指数
1
解决办法
2923
查看次数

如何修改Android视图?

我的视图中有一些方法可以修改调用时绘制的一些形状.在Java中,为了确保组件更新,我会打电话repaint().有什么东西能确保我的观点正确更新吗?

我读的地方,调用invalidate()onDraw()方法将让事情最新的,所以我不会需要有像repaint()在我的方法是修改形状的绘制.

这是正确的,还是我还有别的办法?

编辑

要添加一个示例,我在视图中调用的方法是:

public void setLineThickness(int thickness) {
    aLineThickness = thickness;

    if(aLineThicness > 1)
        //repaint();      - Okay in Java but not in Android

}
Run Code Online (Sandbox Code Playgroud)

android repaint invalidation ondraw

7
推荐指数
1
解决办法
2万
查看次数

使CRL缓存无效

有没有办法立即使CRL(证书吊销列表)缓存无效,导致客户端再次下载CRL?

我想在C#中实现它,而无需使用命令行'certutil.exe'.

更好的是能够设置失效时间(如UtcNow + 12hours)

c# certificate invalidation

7
推荐指数
1
解决办法
1277
查看次数

std :: insert迭代器是否为无序集(或映射)?

std::对于无序集合是否有插入迭代器?据我所知,std::inserter需要一个迭代器参数.这对于无序容器(至少对于boost::unordered_set)是不安全的,因为它们可能在insert操作期间重新分配并且使传递的.begin()迭代器无效.

所以目前我必须通过我自己的迭代器,它实际上是一个boost::function_output_iterator简单调用的仿函数unorderedSet.insert(param1).

为什么是它std::inserter甚至需要hint迭代的说法呢?

c++ invalidation unordered-set insert-iterator

7
推荐指数
1
解决办法
265
查看次数

View.invalidate()似乎没有调用View.onDraw()

我有一个绘图库,有了它我有一个自定义视图.当需要进行任何更新时,库会调用视图的invalidate()方法.然后onDraw()调用该方法,一切正常.

但是,当我将属性添加usesSdkVersion="14"到my时AndroidManifest.xml file,这将停止工作.我的视图onDraw()方法不再被调用了.

更多信息:似乎当我invalidate()在我的应用程序中按下按钮调用时,View会按预期更新.此外,我的库中有一个动画正常工作.所以显然有时它工作正常.但大部分时间,都没有重新绘制.是否存在自定义视图可能导致操作系统在invalidate()调用后跳过重绘的状态?

android invalidation

6
推荐指数
1
解决办法
6037
查看次数