我的应用程序启动后,我正在运行十个AsyncTasks.有时,模拟器需要很长时间才能启动这些任务.发生这种情况时,我在log cat中看到以下消息:
D/dalvikvm(1983):threadid = 8:撤消后仍然暂停(sc = 1 dc = 1 s = Y)
当模拟器快速执行时,不会出现此消息.奇怪的是,这种行为今天没有任何修改就改变了.由于我已经向模拟器明确分配了512mb ram,它不再是非常慢~5min,现在~5s.在真实设备上,我从来没有执行过慢.
我想了解这个日志cat消息的含义.我知道具有指定id的线程在此状态下被挂起并且无法正常工作.但为什么?什么撤消?(sc = 1 dc = 1 s = Y)是什么意思?
我正在开发一款关于android.Like塔防的游戏.我正在使用表面视图.我使用一些图像作为位图.(Spritesheets,tilesets,按钮,背景,效果vs.)现在图像接近5-6 mb.当我运行我的游戏时我得到这个错误:
位图大小超过VM预算
19464192字节的外部分配对于此过程来说太大了.
我称这样的图像
BitmapFactory.decodeResource(res, id)
Run Code Online (Sandbox Code Playgroud)
我把它放到阵列.我无法缩放图像.我正在使用它们.我试过了
options.inPurgeable=true;
Run Code Online (Sandbox Code Playgroud)
它工作但图像加载速度非常慢.我加载了一个spritesheet,当它加载时,我得到非常低的fps.
我能做什么?
有人可以在运行我的Android应用程序时向我解释以下警告的含义(警告按给定的顺序输出):
04-17 15:29:11.693: I/dalvikvm(4442): DexOpt: access denied from Lcom/kirona/iclient/db/core/services/impl/MiscDatabaseModuleDaoImpl; to field Lcom/kirona/iclient/database/common/impl/AbstractDatabaseModuleDao;.logger
04-17 15:29:11.653: W/dalvikvm(4442): VFY: unable to resolve static field 30 (logger) in Lcom/kirona/iclient/db/core/services/impl/MiscDatabaseModuleDaoImpl;
04-17 15:29:11.653: D/dalvikvm(4442): VFY: replacing opcode 0x62 at 0x0001
04-17 15:29:11.693: D/dalvikvm(4442): VFY: dead code 0x0046-006e in Lcom/kirona/iclient/db/core/services/impl/MiscDatabaseModuleDaoImpl;.getSequenceNextVal (Ljava/lang/String;)J
Run Code Online (Sandbox Code Playgroud)
该应用程序似乎运行正常,但我需要了解这个问题,因为我们有更复杂的应用程序,类似的错误导致dalvikvm崩溃.
当我同时使用ActionBarSherlock和ViewPagerIndicator时,我收到以下错误; 从我读过的 - 它是由于两者中的冲突/重复库引起的.
一个解决方案是让ABS依赖VPI(或者反过来,我试过两个)但是即使在干净和重建之后这仍然给了我同样的错误.现在我只是在两个独立的项目中工作,所以我可以完成我的工作 - 但是我想把它们结合起来很明显哈.非常感谢帮助!
[2012-04-19 00:39:20 - MashableReader] Dx
UNEXPECTED TOP-LEVEL EXCEPTION:
java.lang.IllegalArgumentException: already added: Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat;
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.dex.file.ClassDefsSection.add(ClassDefsSection.java:123)
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.dex.file.DexFile.add(DexFile.java:163)
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.command.dexer.Main.processClass(Main.java:486)
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.command.dexer.Main.processFileBytes(Main.java:455)
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.command.dexer.Main.access$400(Main.java:67)
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:394)
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:245)
[2012-04-19 00:39:20 - MashableReader] Dx at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:131)
[2012-04-19 00:39:20 - MashableReader] Dx …Run Code Online (Sandbox Code Playgroud) 我尝试使用简单的替换作为更改String的值,但它不起作用.我尝试在调试模式下运行我的测试应用程序,但总是得到"Hot Code Replace Failed"警告消息框.一些消息来源表示它有效,但它非常有限,偶尔会忽略所有变化,其他人说这根本不起作用.
更新: 此行为在设备和模拟器上完全相同(不起作用).
我一直在尝试将图像和数据上传到Django服务器.我已经包含apache-mime4j.0.6.jar和httpmime4.0.1.jar库(项目 - >构建路径 - >添加外部jar文件)这里是上传图像的代码.
HttpResponse response = null;
try {
HttpPost httppost = new HttpPost("http://10.0.2.2:8000/mobile");
// HttpPost httppost = new HttpPost("some url");
MultipartEntity multipartEntity = new MultipartEntity(); //MultipartEntity multipartEntity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE);
multipartEntity.addPart("name", new StringBody("nameText"));
multipartEntity.addPart("place", new StringBody("placeText"));
multipartEntity.addPart("tag", new StringBody("tagText"));
//multipartEntity.addPart("Description", new StringBody(Settings.SHARE.TEXT));
multipartEntity.addPart("Image", new FileBody(destination));
httppost.setEntity(multipartEntity);
httpclient.execute(httppost, new PhotoUploadResponseHandler());
} catch (Exception e) {
Log.e( "Error","error");
}
Run Code Online (Sandbox Code Playgroud)
错误信息:
Could not find class 'org.apache.http.entity.mime.MultipartEntity'
Run Code Online (Sandbox Code Playgroud)
我尝试手动创建libs文件夹并手动将jar文件包含到/ libs文件夹中.当我这样做它无法编译.
错误:
Conversion to Dalvik format failed …Run Code Online (Sandbox Code Playgroud) 我们正在开发一个针对Android jelly bean的项目.我们的平台是基于arm的,内核版本是3.1.10.在我们的开发过程中,我们发现dalvik中发生应用程序崩溃的可能性很小.基于以下回溯日志,垃圾收集功能期间出现崩溃.在使用addr2line分析pc地址后,我们发现当问题发生时obj-> clazz成为违规地址.
代码流是: (dvmHeapScanMarkedObjects - > processMarkStack-> scanObject - >(IS_CLASS_FLAG_SET(obj-> clazz,CLASS_ISARRAY)))
现在我们被困在这里,无法找到解决问题的方法.所以我们需要更多的建议和帮助.
有谁知道这个问题或如何继续检查它?
回溯日志如下:
F/libc ( 912): Fatal signal 11 (SIGSEGV) at 0x00000025 (code=1), thread 912 (zygote)
I/DEBUG ( 910): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***I/DEBUG ( 910): Revision: '32'
I/DEBUG ( 910): pid: 912, tid: 912, name: zygote >>> zygote <<<
I/DEBUG ( 910): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 00000025
I/DEBUG ( 910): r0 …Run Code Online (Sandbox Code Playgroud) 对于使用ART的一些用户,我使用Aviary SDK会遇到一个奇怪的错误.我很困惑为什么会发生这种情况(显然只有4.4.x)因为在Dalvik上调用此SDK时应用程序运行正常.任何人都有任何想法来解决这个问题?Aviary声称它是PhoneGap/Cordova问题(我们的基础),但我不认为这是问题,因为它只在活动启动时触发.
06-06 09:45:36.037: D/Aviary(27701): Pictures folder: /storage/emulated/0/Pictures
06-06 09:45:36.037: D/Aviary(27701): show
06-06 09:45:36.037: D/Aviary(27701): VERSION => 3.0.4
06-06 09:45:36.037: D/Aviary(27701): VERSION => 157
06-06 09:45:36.041: I/ActivityManager(741): START u0 {dat=file:///storage/emulated/0/DCIM/Camera/1402062335694.jpg cmp=com.XXXX.app/com.aviary.android.feather.FeatherActivity (has extras)} from pid 27701
06-06 09:45:36.054: W/CursorWrapperInner(27701): Cursor finalized without prior close()
06-06 09:45:36.058: I/CordovaLog(27701): Changing log level to ERROR(6)
06-06 09:45:36.087: I/ActivityManager(741): Start proc com.XXXX.app:standalone for activity com.XXXX.app/com.aviary.android.feather.FeatherActivity: pid=28285 uid=10060 gids={50060, 3003, 1028, 1015}
......
06-06 09:45:36.320: E/art(28285): Verification failed on class com.aviary.android.feather.library.external.tracking.LocalyticsSession$UploadHandler in /data/app/com.XXXXXXX.apk because: Verifier …Run Code Online (Sandbox Code Playgroud) Google在Android版Lollipop中用Ahead-of-time(AOT)取代了JIT编译器.
Android运行时(ART),具有提前(AOT)编译和改进的垃圾收集(GC),取代使用即时(JIT)编译的Dalvik
根据维基百科,
Ahead-of-time(AOT)编译是编译高级编程语言(如C)或中间语言(如Java字节码,.NET公共中间语言(CIL),IBM System/38或IBM System i)的行为. "技术独立机器接口"代码,转换为本机(系统相关)机器代码.
我正在开发一个将使用Myo臂章的Android应用程序.我希望将其作为辅助功能服务来实现,以便臂带检测到的手势可以,例如导航回家等.
我正在尝试初始化集线器,但应用程序因以下错误堆栈而停止:
01-06 23:42:41.222 11979-11979/eu.miko.myoid E/AndroidRuntime: FATAL EXCEPTION: main
Process: eu.miko.myoid, PID: 11979
java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/eu.miko.myoid-1/base.apk"],nativeLibraryDirectories=[/data/app/eu.miko.myoid-1/lib/arm, /vendor/lib, /system/lib]]] couldn't find "libgesture-classifier.so"
at java.lang.Runtime.loadLibrary(Runtime.java:367)
at java.lang.System.loadLibrary(System.java:1076)
at com.thalmic.myo.scanner.Scanner.<clinit>(Scanner.java:31)
at com.thalmic.myo.Hub.init(Hub.java:201)
at eu.miko.myoid.MyoidAccessibilityService.onCreate(MyoidAccessibilityService.java:21)
at android.app.ActivityThread.handleCreateService(ActivityThread.java:2877)
at android.app.ActivityThread.-wrap4(ActivityThread.java)
at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1427)
at android.os.Handler.dispatchMessage(Handler.java:102)
at android.os.Looper.loop(Looper.java:148)
at android.app.ActivityThread.main(ActivityThread.java:5417)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
Run Code Online (Sandbox Code Playgroud)
根据Myo文档,这是我用于集线器初始化的代码.我已经尝试将它放在辅助功能服务的onCreate和onServiceConnected方法中,无论如何都会出现错误.
Hub hub = Hub.getInstance();
if (hub.init(this, getPackageName())) {
Intent intent = new Intent(this, ScanActivity.class);
startActivity(intent);
hub.setLockingPolicy(Hub.LockingPolicy.NONE);
hub.addListener(mListener);
}
else {
Log.e(TAG, "Could not initialize the Hub."); …Run Code Online (Sandbox Code Playgroud)