如果我有以下代码:
Runnable r = ...;
Thread thread = new Thread(r);
thread.setPriority((Thread.MAX_PRIORITY + Thread.NORM_PRIORITY) / 2);
Run Code Online (Sandbox Code Playgroud)
要么 ...
Runnable r = ...
Thread thread = new Thread( new Runnable() {
public void run() {
android.os.Process.setThreadPriority(android.os.Process.THREAD_PRIORITY_MORE_FAVORABLE);
r.run();
}
});
Run Code Online (Sandbox Code Playgroud)
是 android.os.Process方式需要/首选吗?
为什么 android.os.Process方式首选/必需?
据我所知,目前尚未明确记录.
我正在开发一个聊天应用程序
但有时,当连接丢失时,Smack重新连接管理器停止工作.
我无法找出造成这个问题的原因.
当我检查我的手机后,经过12到14小时的延迟,我可以看到Android服务仍在运行,但XMPP重新连接已停止工作.然后我必须强制停止应用程序,然后重新启动服务并再次连接到XMPP服务器.
我的假设是当"电话网络从Wifi到数据或数据到Wifi"切换时.与此同时,Smack 4.1重新连接管理器停止工作.虽然,我不确定.
我有问题
任何其他解决方案来解决这个问题?我在考虑以下解决方案:
最近我收到很多关于HTC Desire系列的抱怨,并且在调用sql语句时失败了.我收到了来自用户的报告,其中包含以下内容的日志快照.
I/Database( 2348): sqlite returned: error code = 8, msg = statement aborts at 1: [pragma journal_mode = WAL;]
E/Database( 2348): sqlite3_exec to set journal_mode of /data/data/my.app.package/files/localized_db_en_uk-1.sqlite to WAL failed
Run Code Online (Sandbox Code Playgroud)
然后我的应用程序基本上在火焰中燃烧,因为打开数据库的调用导致严重的运行时错误,当光标保持打开时,它会显示出来.此时不应该有光标,因为我们正试图打开它.
这只发生在HTC Desire HD和Z.我的代码基本上执行以下操作(稍微更改以隔离问题区域).
SQLiteDatabase db;
String dbName;
public SQLiteDatabase loadDb(Context context) throws IOException{
//Close any old db handle
if (db != null && db.isOpen()) {
db.close();
}
// The name of the database to use from the bundled assets.
String dbAsset = "/asset_dir/"+dbName+".sqlite";
InputStream myInput = context.getAssets().open(dbAsset, Context.MODE_PRIVATE); …Run Code Online (Sandbox Code Playgroud) 我知道
ant coverage
Run Code Online (Sandbox Code Playgroud)
然而,做了几件事情,它与艾玛仪表编译,安装和运行测试APK.我不希望它通过蚂蚁与覆盖运行测试套件,因为我需要一些额外的钩子运行它,我不想跑两次大的测试套件.到目前为止,我已经尝试过了
Target_Project/build.properties
emma.enabled=true
Run Code Online (Sandbox Code Playgroud)
Test_Project/build.properties
emma.enabled=true
Run Code Online (Sandbox Code Playgroud)
然后在shell中执行此操作.
Target_Project$ ant debug
Target_Project$ adb install bin/Target_Project-debug.apk
Target_Project$ cd ../Test_Project/
Test_Project$ ant debug
Test_Project$ adb install bin/Test_Project-debug.apk
Test_Project$ adb shell am instrument -e coverage true -e coverageFile /sdcard/myFile.ec -w com.my_app.testproject/android.test.InstrumentationTestRunner
Run Code Online (Sandbox Code Playgroud)
回应是
Error: Failed to generate emma coverage. Is emma jar on classpath?
Run Code Online (Sandbox Code Playgroud)
那么,有没有什么窍门能让apk中建立一个能与艾玛库?我试图调用SDK中的XML模板创建的目标,但他们是"私人".有什么我想念的吗?
此致,鲍里斯
我正在尝试另一种方法来做一些我已经拥有的代码,我发现它不够优雅,我遇到了这个例外.我真的不明白发生了什么,我还是Java的新手.
如果有很多代码,我很抱歉,但我不认为我可以削减更多.例外是在第一行提出的Initialize().
这是确切的错误消息:
在simulationia.SimulationIA.main(SimulationIA.java:21)的simulationia.CritterInfo.Initialize(Critter.java:35)中的线程"main"java.lang.NullPointerException中的异常
第35行是第一行Initialize().SimulationIA的第21行是调用Initialize().
// Critter.java
class CritterInfo {
static private Map<Object, String> enum_desc;
public enum CRITTER_TYPE { CT_HERBIVORE, CT_CARNIVORE }
public enum CRITTER_STATE { CS_FULL, CS_HUNGRY, CS_STARVING, CS_DEAD }
/* ... */
static void Initialize() {
enum_desc.put((Object)CRITTER_TYPE.CT_HERBIVORE, "Herbivore");
enum_desc.put((Object)CRITTER_TYPE.CT_CARNIVORE, "Carnivore");
enum_desc.put((Object)CRITTER_STATE.CS_FULL, "Full");
enum_desc.put((Object)CRITTER_STATE.CS_HUNGRY, "Hungry");
enum_desc.put((Object)CRITTER_STATE.CS_STARVING, "Starving");
enum_desc.put((Object)CRITTER_STATE.CS_DEAD, "Dead");
}
/* ... */
}
Run Code Online (Sandbox Code Playgroud)
另一个档案......
// SimulationIA.java
public class SimulationIA {
public static void main(String[] args) {
/* ... */
CritterInfo.Initialize();
/* ... …Run Code Online (Sandbox Code Playgroud) 我的问题是我想在我的同一个html页面中重定向,其中包含一个名为div的div add-form.
当我点击button我的重定向应该在一个div包含一些代码.这是我的一些代码重定向到另一个页面,但我不知道如何用一个替换页面div.
success: function(data){
if(data['success']){
alert("DOne");
window.location = document.getElementById('add-form');
// $("#add-form").load(function(e) {
// });
}
else{
alert("Oops, There is a Network Error.....");
}
}
Run Code Online (Sandbox Code Playgroud)
在这段代码#add-form中DIV id.
我不想重定向到另一个页面,而是在包含的页面中滑动div tag.
更新:
这是两张图片.

在第一张图片中点击右侧保持的+按钮.代码是:
<a href="#add-form" data-icon="plus" data-iconpos="notext">Add</a>
Run Code Online (Sandbox Code Playgroud)
结果是这个图像.

我想对按钮点击做同样的事情,但是在javascript中.