0

大约一年前,我使用 Titanium SDK 3.X 制作了一个应用程序。在 iOS 和 Android 中一切都很好。现在,我正在尝试添加一个新功能。我安装了 SDK 5。我在 Appcelerator Studio 中打开了该应用程序,该应用程序在 iOS 中运行良好。但是,它在 Android 中不起作用。我进行了调查,问题是由从集合实例中获取引起的。当我删除 fetching$.books.fetch()时,应用程序没有崩溃。但如果我不这样做,它会使应用程序崩溃,然后应用程序重新启动。不幸的是,电话或控制台(在 Appcelerator Studio 中)中没有任何错误日志。

风景:

<Alloy>
<Collection src="books" instance="true" id="books" />
    <Window id="winFilterByName" title="Find By Name" >
        <TableView id="allBookList" dataCollection="$.books" dataTransform="transformFunction" dataFilter="filterFunction" zIndex="0" filterAttribute="rowFilter" top="0" >

         ...
        </TableView>
    </Window>
</Alloy>

控制器:

/* Fetch the Collections
 * ********************************************************* */
  Alloy.Collections.bookmarks.fetch();
  $.books.fetch(); //<-- This caused the problem...

alloy.js,我做下面的代码行。所以在应用程序启动时,它可以用于fetch().

Alloy.Collections.bookmarks = Alloy.createCollection('bookmarks');

我找不到任何资源来解决这个问题。我可以通过 Google 找到的资源仍然来自 SDK 3.X,而我正是这样做的。但它在应用程序中崩溃。

手机上的安卓版本是5.1.1。

更新

这是控制台中反复出现的错误:

[ERROR] :  art: Throwing OutOfMemoryError "Failed to allocate a 36 byte allocation with 32 free bytes and 32B until OOM"

然后最终它会出现这个错误块

[ERROR] :  art: "main" prio=5 tid=1 Runnable
[ERROR] :  art:   | group="main" sCount=0 dsCount=0 obj=0x76818e48 self=0xb873f410
[ERROR] :  art:   | sysTid=7647 nice=0 cgrp=default sched=0/0 handle=0xb6efcbec
[ERROR] :  art:   | state=R schedstat=( 3091837554 376855300 3730 ) utm=266 stm=43 core=0 HZ=100
[ERROR] :  art:   | stack=0xbe523000-0xbe525000 stackSize=8MB
[ERROR] :  art:   | held mutexes= "mutator lock"(shared held)
[ERROR] :  art:   at android.util.PathParser$PathDataNode.nodesToPath(PathParser.java:283)
[ERROR] :  art:   at android.graphics.drawable.VectorDrawable$VPath.toPath(VectorDrawable.java:1262)
 [ERROR] :  art:   at android.graphics.drawable.VectorDrawable$VPathRenderer.drawPath(VectorDrawable.java:947)
[ERROR] :  art:   at android.graphics.drawable.VectorDrawable$VPathRenderer.drawGroupTree(VectorDrawable.java:928)
[ERROR] :  art:   at android.graphics.drawable.VectorDrawable$VPathRenderer.drawGroupTree(VectorDrawable.java:924)
[ERROR] :  art:   at android.graphics.drawable.VectorDrawable$VPathRenderer.draw(VectorDrawable.java:935)
[ERROR] :  art:   at android.graphics.drawable.VectorDrawable.draw(VectorDrawable.java:271)
[ERROR] :  art:   at android.graphics.drawable.AnimatedVectorDrawable.draw(AnimatedVectorDrawable.java:178)
[ERROR] :  art:   at android.widget.ProgressBar.drawTrack(ProgressBar.java:1677)
[ERROR] :  art:   at android.widget.ProgressBar.onDraw(ProgressBar.java:1644)
[ERROR] :  art:   at android.view.View.draw(View.java:15292)
[ERROR] :  art:   at android.view.View.updateDisplayListIfDirty(View.java:14219)
 [ERROR] :  art:   at android.view.View.getDisplayList(View.java:14241)
 [ERROR] :  art:   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3392)
 [ERROR] :  art:   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3371)
 [ERROR] :  art:   at android.view.View.updateDisplayListIfDirty(View.java:14179)
 [ERROR] :  art:   at android.view.View.getDisplayList(View.java:14241)
 [ERROR] :  art:   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3392)
 [ERROR] :  art:   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3371)
 [ERROR] :  art:   at android.view.View.updateDisplayListIfDirty(View.java:14179)
 [ERROR] :  art:   at android.view.View.getDisplayList(View.java:14241)
 [ERROR] :  art:   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3392)
 [ERROR] :  art:   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3371)
 [ERROR] :  art:   at android.view.View.updateDisplayListIfDirty(View.java:14179)
 [ERROR] :  art:   at android.view.View.getDisplayList(View.java:14241)
 [ERROR] :  art:   at android.view.ViewGroup.recreateChildDisplayList(ViewGroup.java:3392)
 [ERROR] :  art:   at android.view.ViewGroup.dispatchGetDisplayList(ViewGroup.java:3371)
 ...
4

0 回答 0