3
我有一个响应被移动的应用程序。删除哈希表的内容或者只是实例化一个新的哈希表?
侦听器似乎在一次移动中被调用多次,即如果我将应用程序从显示器的一部分拖到另一部分。
当发生这种情况时,我将一些数据存储到Hashtable中。每次我存储数据时,都需要存储到一个空的Hashtable中。
每次删除Hashtable的内容会更好吗?或者我可以实例化一个新的Hashtable(使用相同的变量)?该Hashtable将包含不超过5个键/值对。
后一种方法会消耗太多的内存吗?或者Java垃圾收集器能够快速释放内存吗?
您可能会反思 - 只有在必要时才会进行优化。为什么不选择一个,看看会发生什么? –
GC很快就会清理它,但我不会过多地担心过早的优化;一个更紧迫的问题是,为什么你在'HashMap'或'ConcurrentHashMap'上使用'Hashtable'? – oldrinb
相关:http://stackoverflow.com/questions/10197988/performance-issue-clear-and-reuse-a-收集或扔它,并得到一个新的一个http://stackoverflow.com/questions/18370780/empty-an-arraylist-or-just-create-a-new-one-and-let -the-旧一个待垃圾山口?noredirect = 1&LQ = 1 – Thilo