0

約 1 年前に 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 のものであり、まさにそれを実行しました。しかし、アプリでクラッシュします。

電話機の Android バージョンは 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