关于这个话题有很多问题,但没有明确的答案.虽然android的内存管理非常扎实,但很多人认为我们不应该杀掉android应用程序.我的情况不同.我想要一个关闭应用程序的选项.我找到了关闭应用程序的以下代码,但有时它不起作用.当我点击我的应用程序上的退出按钮时,似乎应用程序只是刷新自己.
MainActivity.java
@Override
public void onDestroy()
{
super.onDestroy();
/*
* Notify the system to finalize and collect all objects of the
* application on exit so that the process running the application can
* be killed by the system without causing issues. NOTE: If this is set
* to true then the process will not be killed until all of its threads
* have closed.
*/
System.runFinalizersOnExit(true);
/*
* Force the system to close the application down completely instead of …Run Code Online (Sandbox Code Playgroud) 我发现此代码可以获得整体cpu使用率.这是否可以将其转换为通过进程告诉cpu使用情况?是否有任何API可以让我们获得android的CPU或内存使用?
private float readUsage() {
try {
RandomAccessFile reader = new RandomAccessFile("/proc/stat", "r");
String load = reader.readLine();
String[] toks = load.split(" ");
long idle1 = Long.parseLong(toks[5]);
long cpu1 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
+ Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);
try {
Thread.sleep(360);
} catch (Exception e) {}
reader.seek(0);
load = reader.readLine();
reader.close();
toks = load.split(" ");
long idle2 = Long.parseLong(toks[5]);
long cpu2 = Long.parseLong(toks[2]) + Long.parseLong(toks[3]) + Long.parseLong(toks[4])
+ Long.parseLong(toks[6]) + Long.parseLong(toks[7]) + Long.parseLong(toks[8]);
return (float)(cpu2 - cpu1) / …Run Code Online (Sandbox Code Playgroud) 我尝试过Smart Assembly并对它非常满意.它的错误报告功能很棒.依赖集成也是非常酷的功能.我的问题是有免费的替代品可以像智能装配一样工作吗?
我试过Eazfuscator.NET,这是一个很好的混淆器,但缺少两个我最喜欢的Smart Assembly.是否有任何免费工具可用于.Net框架的错误报告和依赖项集成.
初学者 android 程序员,我想在用户单击列表项时从字符串列表中添加和删除项目,但在尝试执行此操作时出现操作不支持错误。请参阅以下代码以了解我想要做什么。
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
if(myList != null)
{
StringBuilder stringBuilder = new StringBuilder();
if(myList.contains(mylist1.get(position).getPackageName()))
{
for(int i = 0; i < myList.size(); i++)
{
if(myList.get(i).equals(mylist1.get(position).getPackageName()))
continue;
if((myList.size() - 1) != i)
stringBuilder.append(myList.get(i)).append(separator);
else
stringBuilder.append(myList.get(i));
}
editor.putString("mypreference", stringBuilder.toString());
mylistt1.get(position).setDisabled(false);
//error happens in following
myList.remove(mylist1.get(position).getPackageName());
}
}
}
Run Code Online (Sandbox Code Playgroud)
这是日志猫
04-08 11:33:00.030: ERROR/AndroidRuntime(533): FATAL EXCEPTION: main
java.lang.UnsupportedOperationException
at java.util.AbstractList.remove(AbstractList.java:638)
at java.util.AbstractList$SimpleListIterator.remove(AbstractList.java:75)
at java.util.AbstractCollection.remove(AbstractCollection.java:229)
at com.mypackage.myActivity.onListItemClick(myActivity.java:82)
at android.app.ListActivity$2.onItemClick(ListActivity.java:319)
at …Run Code Online (Sandbox Code Playgroud) android list arraylist invalidoperationexception listactivity
如何在C#中清除ListView?
以下是我填充ListView的方法:
int listViewCounter = 0;
for (int i = 0; i < dtXLS.Rows.Count; i++)
{
listViewCounter++;
ListViewItem item = new ListViewItem();
item.Text = "First item" + listViewCounter;
item.SubItems.Add("sadad" + listViewCounter);
item.SubItems.Add("sadad" + listViewCounter);
item.SubItems.Add("sadad" + listViewCounter);
item.SubItems.Add("sadad" + listViewCounter);
LV.Items.Add(item);
LV.Items[listViewCounter - 1].SubItems[0].Text = listViewCounter.ToString();
LV.Items[listViewCounter - 1].SubItems[1].Text = "sample1";
LV.Items[listViewCounter - 1].SubItems[2].Text = "sample2";
LV.Items[listViewCounter - 1].SubItems[3].Text = "sample3";
LV.Items[listViewCounter - 1].SubItems[4].Text = "sample4";
}
Run Code Online (Sandbox Code Playgroud)
结果将是:
1st Column 2nd Column 3rd Column 4th Column 5th Column
1 sample1 …Run Code Online (Sandbox Code Playgroud) android ×3
.net ×2
c# ×2
arraylist ×1
cpu-usage ×1
forceclose ×1
list ×1
listactivity ×1
listview ×1
memory ×1
obfuscation ×1
process ×1