序列化对象时Android优先级作业队列错误

时间:2016-02-21 08:59:20

标签: android serialization

尝试了解如何使用此lib。 使用来自twitter示例的示例:

Configuration configuration = new Configuration.Builder(this)
        .minConsumerCount(1)
        .maxConsumerCount(3)
        .loadFactor(3)
        .consumerKeepAlive(120)
        .build();
jobManager = new JobManager(this, configuration);
jobManager.addJob(new simpleJob("simple text"));

class simpleJob extends Job{
    private String text;
    public simpleJob(String text) {
        super(new Params(1000).requireNetwork().persist());
        this.text = text;
    }

    @Override
    public void onAdded() {
        Log.i("job", "onAdded");
    }

    @Override
    public void onRun() throws Throwable {
        Log.i("job", "onRun");
    }

    @Override
    protected void onCancel() {
        Log.i("job", "onCancel");
    }

    @Override
    protected RetryConstraint shouldReRunOnThrowable(Throwable throwable, int runCount,
                                                     int maxRunCount) {
        Log.i("job", "shouldReRunOnThrowable");

        return RetryConstraint.RETRY;
    }
}

在控制台中我只看到“onAdded”。 “onRun”从未发生过。如果我添加日志拦截器,我看到错误文本“序列化对象simpleJob时出错”。 它是什么?什么对象应该可序列化?

1 个答案:

答案 0 :(得分:0)

正如我探索的那样,如果作业是内部类,序列化不起作用。你需要把你的工作分开来。