問題タブ [invalidation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
checksum - チェックサムを*無効化*するための最良の方法
最初にチェックサムを含む4KBのバッファがあるとしましょう。このバッファーには、他のバッファーを参照するメタデータが含まれています。注意:バッファはメモリマップトファイルです。バッファの1つが無効であることに気付きました(チェックサムが機能しないか、チェックサムは正常ですが、無効なバッファを参照しています)。ここで、別の無効なバッファーを参照しているバッファーを無効にします。バッファを無効にする数学的に最良の方法は何ですか?チェックサム自体を破損してデータと一致しないようにするか、データを破損してチェックサムと一致しない可能性があります。それとも、完全に3番目のより良い方法がありますか?その価値については、これはCRC32バリアントです。
android - 1 つのビューにアニメーションを適用すると、Android がすべてのビューを再描画する
いくつかのビューを持つ 1 つのレイアウトを含むアプリケーションがあります。1 つのビューをアニメーション化すると、すべてのビューが再描画されます! それは通常の動作ですか、それとも何か間違ったことをしていますか? この動作をキャンセルして、手動で無効にしたビューを再描画したいのですが、ありがとうございます
私は2つのカスタムビューとsecondsArcビューが毎秒アニメーション化されていると言っているので、毎秒10回再描画される問題は、MinutesArcも再描画されることです! 問題は、私には約10のビューがあり、すべてが毎秒10回再描画されることです。このメソッドは、SecondsArcで呼び出されて回転します
iphone - [tableView reloadData] の奇妙な問題
2 つの変更可能な配列があるとします。次のコードがあります。
[tableView reloadData] がコメント アウトされている場合 (// [tableView reloadData])、「クリック」後よりもテーブルは期待どおりに無効化されません。また、現在のセルがスクロールされて画面内で再びスクロールされると、"cellForRowAtIndexPath" が呼び出され、コンテンツを取得する配列に応じてセルが右に "描画" されます。しかし、[tableView reloadData] がアクティブな場合、「cellForRowAtIndexPath」はまったく呼び出されず (!)、セルは画面から削除されます!
反応: なに?
その場でテーブルビューを無効にする方法を誰でも助けることができます(セルをスクロールしてスクロールするのではなく:))!
前もって感謝します!
iphone - ビューをポップするときに NSTimer を無効にして解放する (UINavigationController を使用)
私は UINavigationController を使用しています: 私の最初のビューには、このコードを使用して別のビューをプッシュする UIButton があります
この 2 番目のビューには、オブジェクトの位置を示すマップがあります。このオブジェクトは高速で移動しているため、毎秒位置を更新する必要があります。これは、新しい座標を計算してマップを更新するメソッドを呼び出す NSTimer を使用して実行しています。OK、すべて正常に動作しますが、ユーザーが (NavigationBar の通常のボタンを使用して) ビューをポップすると、NSTimer がまだ機能しているため、この 2 番目のビューを解放できませんでした!
ユーザーがこの 2 番目のビューをポップしたときに NSTimer を無効にして解放するにはどうすればよいですか? 自動的に呼び出されるメソッドはありますか? (やってみたけど何もない)
ありがとう!
android - invalidate() の実行時に TextView が描画されない
画面上の座標がセンサー データに依存するビューを表示しようとしています。そのSOの質問で説明されているようにテキストを表示することができましたが、代わりにいくつかのTextViewを表示しようとしていますが、TextViewでinvalidate()を呼び出すと、描画されません...
誰でも助けることができますか?
ありがとう
ARView.java
ARActivity.java
ここで、ARView をその親ビューに追加します。
ARLayout.java
ここでセンサー データを取得し、ARViews 座標を更新して、できれば描画します...
android - 変更時にAndroidビューを更新するにはどうすればよいですか?
ビューには、呼び出されたときに描画される図形の一部を変更するメソッドがいくつかあります。Javaでは、コンポーネントが更新されていることを確認するために、を呼び出しますrepaint()
。ビューが正しく更新されていることを確認するものはありますか?
invalidate()
メソッドを呼び出すと最新の状態に保たれるので、描画される図形を変更するonDraw()
ようなものをメソッドに含める必要がないことをどこかで読んだことがあります。repaint()
これは正しいですか、それとも私がしなければならないことが他にありますか?
編集
例を追加するために、ビューで呼び出すメソッドは次のとおりです。
android - AndroidはUIスレッドが無効になるのを待ちます
ペイントアプリでビューを再描画するのに問題があります。タッチが終了したら、touch_up()を呼び出してパスを作成し、invalidate()を呼び出してパスを描画し、storeView()を呼び出して現在のビューをスタックにプッシュします。ただし、ビューはまったく再描画されません(次のタッチまで、ひねくれた効果が得られます)。storeView()の呼び出しを削除すると、すぐに再描画されます。
ここから、問題がinvalidate()であることがすぐに発生するとは限らないことを理解し、それを待つために新しいスレッドまたはハンドラーを作成する必要があると思います。開発ページを読んだにもかかわらず、私はそれを実装する方法を完全には理解していません。
それは本当に私がする必要があることですか?ビューが再描画されるまでstoreView()を待機させるにはどうすればよいですか?私はこれとしばらく戦ってきました、答えは私の日を作るでしょう。ありがとう!
これが私が現在していることです。
Action_up:
Touch_up:
storeView:
ios - マルチスレッドコアデータ-NSManagedObjectが無効化されました
タイトルが示唆しているように、さまざまなバックグラウンドスレッドのオブジェクトでいっぱいになるコアデータアプリケーションを使用しています(XML解析)
私のバックグラウンドスレッドでは、これを行っています
Mergeメソッドは次のようになります。
マージは成功したと思いますが、UITableViewに表示したいので、オブジェクトが無効になっていることを常に通知します。
私がやりたいのは、現在データベースにあるアイテムを表示し、バックグラウンドでxmlを解析し、それが終了したら、UITableViewを新しい/更新されたオブジェクトで更新したいです。どうすればよいですか、オブジェクトを他のコンテキストに「更新」できますか、それともマージが正しく機能しませんか?
Main ObjectContextで特定の何かを定義する必要がありますか?運が悪かったので、さまざまなマージポリシーを試しました。
あなたが私を助けてくれることを願っています、ありがとう!
memcached - 値に基づくmemcachedの無効化
memcahced
値に基づいてエントリを無効にすることは可能ですか?
私のアプリでは、さまざまなグループにユーザーを割り当てており、このマッピングをに保存していmemcached
ます。
したがって、複数userIds
を1つにマップしgroupID
ます。
memcache
特定のグループを削除するとき、削除されたグループの値として値を持つストア内のすべてのエントリを削除したいと思いますgroupID
。したがって、基本的に、特定の値を持つエントリを削除したいと思います。どうすればいいのですか。
winforms - カスタムコントロールでのペイントと無効化メカニズム
私が作成しているカスタムコントロールは、クライアントスペースに多くの「アイテム」を描画する必要があります。Invalidate()を呼び出すと、すべてのアイテムが再描画される新しいペイントサイクルがトリガーされます。
これで、多くのアイテムがあり、コントロール内で多くのナビゲーションが発生する場合、物事を最適化する必要があります。したがって、1つまたは2つのアイテムのみが描画されるペイントサイクルをトリガーする必要があります。これらのアイテムへの参照を保存して、paintメソッド(OnPaint)が「クイック」であることを認識できるようにします。
難しいのは、OnPaintが実行されたときに、その間に他のInvalidate()呼び出しが行われたかどうかを知るのが難しいことです。その場合、それは「通常の」完全なペイントを行う必要があります。
私はクリップの長方形を利用します。もちろん、OnPaintのクリップ長方形がクライアント長方形全体になったかどうかを確認できます。これは、Invalidate()が呼び出されたことを示していますが、これは100%安全ではありません。私は他の同様の解決策を考えましたが、それらはハッキーのようです。
この問題が通常、または最善の方法で解決される方法は何ですか?