2017-02-20 15 views
0

使用されたConcurrentHashMapは整数値をキーとして、カスタムオブジェクトはアプリケーションの値として使用されました。 appが実行されると、> kitkatバージョンのデバイスで、マップが降順でキーによってソートされます。ここで、osバージョン4.4.2のタブレットでは値オブジェクトのアドレスでソートされます。誰でも私にこれを理解させてくれますか?タブレットとNexsusでのConcurrentHashMapの差分パフォーマンス

例: {1、3456 @}タブレットで {2345 @ 3、}::私はあなたが考えることができますね {3、2345 @} {1、3456 @}

+1

マップはまったくソートされていないので、 'TreeMap'のように順序を保持しているバージョンを使用する必要があります。 concurentが本当に必要な場合は、https://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentSkipListMap.html – Than

+1

を参照してください。ConcurrentHashMapは、順序を保証するものではありません。デバイスまたはOSのバージョン – Dimezis

答えて

1

デバイスでこのmovieをご覧ください。ここではColt McAnlisがマップについての詳しい解説をしています。

[EDIT]

このビデオの話について

は、Androidアプリケーションのパフォーマンスを最適化することはどのようにあなたのメモリを管理しているとやるべきことがたくさん持っています。そして、しばしば、ここでの問題は、メモリに関しては倹約的ではないかもしれないコレクションの使用から来る可能性があります。

+1

http://stackoverflow.com/help/how-to-answerに記載されているように、これらのリンクに関する詳細なコンテキストを提供してください: 'リンクのコンテキストを提供する 外部リソースへのリンクは推奨されますが、コンテキストを追加してくださいリンクの周りにあなたの仲間のユーザーは、それが何であるか、なぜそれがあるのか​​を知ることができます。ターゲットサイトに到達できない場合や、永続的にオフラインになる場合に備えて、常に重要なリンクの最も関連性の高い部分を引用します。 – Than

関連する問題