小编esk*_*ski的帖子

Android SQLite CursorWindowAllocationException崩溃

我有一种情况,当我发出一些cursor.moveToNext()请求时我的程序崩溃了.错误消息显示:

android.database.CursorWindowAllocationException: Cursor window allocation of 2048 kb failed. # Open Cursors=773 (# cursors opened by this proc=773)
at android.database.CursorWindow.<init>(CursorWindow.java:112)
at android.database.CursorWindow.<init>(CursorWindow.java:100)
at android.database.AbstractWindowedCursor.clearOrCreateWindow(AbstractWindowedCursor.java:198)
at android.database.sqlite.SQLiteCursor.clearOrCreateWindow(SQLiteCursor.java:364)
at android.database.sqlite.SQLiteCursor.fillWindow(SQLiteCursor.java:162)
at android.database.sqlite.SQLiteCursor.getCount(SQLiteCursor.java:156)
at android.database.AbstractCursor.moveToPosition(AbstractCursor.java:161)
at android.database.AbstractCursor.moveToNext(AbstractCursor.java:209)
at net.cunniman.teacherplannerlite.SchoolClassDataSource.getClassForDayView(SchoolClassDataSource.java:173)
at net.cunniman.teacherplannerlite.DayView.getSchoolClasses(DayView.java:200)
at net.cunniman.teacherplannerlite.DayView.displayDate(DayView.java:176)
at net.cunniman.teacherplannerlite.DayView.plusDay(DayView.java:287)
at net.cunniman.teacherplannerlite.DayView.onClick(DayView.java:93)
at android.view.View.performClick(View.java:3565)
at android.view.View$PerformClick.run(View.java:14165)
at android.os.Handler.handleCallback(Handler.java:605)
at android.os.Handler.dispatchMessage(Handler.java:92)
at android.os.Looper.loop(Looper.java:137)
at android.app.ActivityThread.main(ActivityThread.java:4514)
at java.lang.reflect.Method.invokeNative(Native Method)
at java.lang.reflect.Method.invoke(Method.java:511)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:980)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:747)
at dalvik.system.NativeStart.main(Native Method)

try {
this.openForRead();
for (int day_counter = 0; day_counter < DAY_PERIOD.length/2; day_counter++) …
Run Code Online (Sandbox Code Playgroud)

android cursor

4
推荐指数
1
解决办法
6632
查看次数

如何在 Kotlin 中访问内部对象的成员

我无法访问内部对象的成员。

class Foo {
    val obj = object {
        val field = 42
    }
}

fun foo() {
    Foo().obj.field // unresolved reference field
}
Run Code Online (Sandbox Code Playgroud)

kotlin

3
推荐指数
1
解决办法
2411
查看次数

在项目上找不到属性“插件”:

我有一个SDK,已经为此开发了许多小型测试应用程序。这些都是具有以下共同点的独立android应用程序:

1)所有依赖项都相同(即,我的sdk / android sdk / etc。的相同版本。)

2)它们都共享一个公共的顶级build.gradle文件(当前为空):

3)它们正在构建,测试等。各个阶段都是相同的。

我希望所有项目都作为模块存在于Android Studio中,并且希望它们在顶层build.gradle中共享尽可能多的配置,以便我可以更新一个文件并使所有文件正常工作。

当我在顶层build.gradle中添加以下内容时:

subprojects {
    apply plugin: "android"
    repositories {
        mavenCentral()
        maven {
            url "my.repo.com"
            credentials {

                username "user"
                password "pass"
            }
        }
        dependencies {

            compile 'com.my.library:my-library:0.0.1'
            // compile 'com.google.android.gms:play-services:+'
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我懂了

'could not find property 'plugin' on ':App1'':App1'settings.gradle中的第一个应用程序在哪里,构建失败。

我的目标是在此顶级文件中获取上面的块以及其他许多适用的元素。

编辑:我已经修复了语法错误(我缺少:),但是这导致了“找不到ID为'android'的插件。通常可以通过添加以下内容来解决:

buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.14.4'
        }
    }

    allprojects {
        repositories {
            mavenCentral()
        }
    }
Run Code Online (Sandbox Code Playgroud)

但这并不能解决这种情况。

编辑2:

最终形式:

buildscript {
    repositories { …
Run Code Online (Sandbox Code Playgroud)

gradle android-studio build.gradle

0
推荐指数
1
解决办法
4697
查看次数

标签 统计

android ×1

android-studio ×1

build.gradle ×1

cursor ×1

gradle ×1

kotlin ×1