小编Mar*_*ing的帖子

是否有任何问题包括一个用clojure编写的jar作为Android应用程序的一部分?

我正在开发一个标准的Android应用程序(在java中),但是想在clojure中实现一些非UI"业务逻辑".这样做是否有任何缺点,或者我应该注意哪些问题会使这个想法变得糟糕?

我做了一个简单的测试 - 在Android应用程序的一个简单的clojure库中调用函数,这似乎没有任何明显的问题.

我已经看到关于加载clojure.jar的时间问题的评论,但在我的情况下,clojure没有处理UI.

我不清楚是否还有其他内存或性能问题我应该关注.

2017年1月16日更新

尝试使用一些稍微复杂的clojure库时遇到了一些问题,特别是依赖于core.async的库.

使用标准的clojure 1.8作为依赖,我试图:

new ClassDefinedInClojure()
Run Code Online (Sandbox Code Playgroud)

ClassDefinedInClojure是AOT生成的java类,但我得到了:

java.lang.VerifyError: Rejecting class clojure.core.memoize.RetryingDelay because it failed compile-time verification
Run Code Online (Sandbox Code Playgroud)

我认为这是此处确定的同一问题的结果:

http://dev.clojure.org/jira/browse/CLJ-1472

但是,即使在我使用补丁(http://dev.clojure.org/jira/secure/attachment/15351/clj-1472-2.patch)重建clojure 1.8之后问题仍然存在.

我知道clojure的android特定版本https://github.com/clojure-android/clojure,但老实说不清楚这与正常的clojure有何不同以及为什么需要它.我尝试使用它作为标准clojure库的替代品,但有同样的问题.

关于我原来的问题,这很有用 - http://blog.ndk.io/state-of-coa.html

android clojure clojure-java-interop

7
推荐指数
0
解决办法
154
查看次数

标签 统计

android ×1

clojure ×1

clojure-java-interop ×1