小编soB*_*ary的帖子

Java性能和内存:LinkedList和数组

我正在构建一个Android应用程序(所以资源有限的机器),我想知道我应该如何挑剔LinkedLists.

我知道阵列是最轻的容器,并且是最好的随机访问,所以如果你只考虑性能,它们显然是理想的选择.然而,当你不知道你的名单有多大时,他们的僵硬是一种痛苦.

所以这是我的问题:在具有一个或多个不可预测大小列表的类中系统地使用以下类型的机制是否值得:

public class unpredictable
public Object[]realArray;
private LinkedList<Object> temp;

//what using classes will call to add items
public void add(Object item) 
{
    temp.add( item );
}

//what the outer class calls when it knows there's nothing left to add 
public void doneAdding() 
{
    realArray = new Object[tmp.size()];
    transferAndRecycle();
}

private void transferAndRecycle()
{
    // copy items from linkedlist to array
}
Run Code Online (Sandbox Code Playgroud)

所以我想我问是否值得采取额外的步骤来摆脱Java的LinkedList对象带来的额外空间?

有什么输入?谢谢

java memory performance linked-list

3
推荐指数
1
解决办法
1234
查看次数

Linux:设置自定义警报/ toast /不确定名称

对于措辞,对不起,我指的是当某些事件发生时屏幕右上角出现的吐司(这就是Android调用它们的方式).

例子:洪流完成(传输)或正在播放新歌(Banshee)

有谁知道如何在脚本或程序中定义一个?

谢谢

linux user-interface alert message toast

3
推荐指数
1
解决办法
541
查看次数

Android性能:SharedPreferences的成本

当我的应用程序启动时,我使用我的分片首选项中的值填充容器类.我的想法是处理SharedPreferences和PreferenceManager,因为我猜他们很重.
这是一个示例:

SharedPreferences prefs = PreferenceManager.getDefaultSharedPreferences(cont); 
StorageClass.lifespan = Integer.parseInt( prefs.getString("lifespan", "8") );
StorageClass.hiRate = Integer.parseInt( prefs.getString("hiRate", "71") );
//and on and on for all preferences 
Run Code Online (Sandbox Code Playgroud)

然后其他活动请求这些值.
但随着我的应用程序的增长,主内存变得紧张.

让每个请求者创建一个SharedPreferences实例并获得他们想要的值会更好吗?

谢谢

memory performance android sharedpreferences

3
推荐指数
1
解决办法
1815
查看次数