- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
使用 RenderScript 创建 ScriptC 对象时存在一些神秘的问题。这是我的代码:
public class RenderScriptActivity {
private RenderScript mRS;
private ScriptC_kernel mScript = null;
private Allocation m1Allocation, m2Allocation,
m3Allocation, m4Allocation;
private Bitmap mBitmap;
private ImageView mView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_renderscript);
mView = (ImageView) findViewById(R.id.image_view);
}
@Override
protected void onResume() {
super.onResume();
initRenderScript();
}
@Override
protected void onPause() {
super.onPause();
releaseRenderScript();
}
private void initRenderScript() {
mRS = RenderScript.create(this);
int size = 320*240;
m1Allocation = Allocation.createSized(mRS, Element.I16(mRS), size);
m2Allocation = Allocation.createSized(mRS, Element.I16_4(mRS), size);
m3Allocation = Allocation.createSized(mRS, Element.I16_4(mRS), size);
mBitmap = Bitmap.createBitmap(1280, 720, Bitmap.Config.ARGB_8888);
m4Allocation = Allocation.createFromBitmap(mRS, mBitmap);
mScript = new ScriptC_kernel(mRS, getResources(), R.raw.kernel);
}
private void releaseRenderScript() {
m1Allocation.destroy();
m2Allocation.destroy();
m3Allocation.destroy();
m4Allocation.destroy();
// mScript.destroy();
mRS.finish();
}
}
还有我的内核(是的,它是空的):
#pragma version(1)
#pragma rs java_package_name(com.example.android.myrenderscript)
问题是,第三次调用 initRenderScript()
函数(即恢复应用程序、暂停、恢复、再次暂停和恢复)时,我的应用程序崩溃了(SIGSEV )有错误:
backtrace:
#00 pc 00027034 /system/lib/libRS.so (android::renderscript::rsrClearObject(android::renderscript::Context const*, android::renderscript::ObjectBase**)+3)
#01 pc 00012c3b /system/lib/libRSDriver.so
#02 pc 00000668 <unknown>
此外,如果我使用 mScript.destory()
方法(上面已注释),我的应用程序会在第一次调用 initRenderScript()
后立即崩溃。最重要的是,如果我只是注释行,创建 ScriptC_kernel 对象,一切都会正常工作。这就是为什么我认为创建 ScriptC 对象存在问题。
有没有人知道为什么会出现这个问题?
这里奇怪的是,只有当我从命令行构建应用程序时才会出现这个问题(使用 ant debug
命令,Ubuntu 14.04)。当我使用 Android Studio 或 Eclipse 构建它时,一切正常。
我还应该提到,实际上不是应用程序本身崩溃(它包含少量 Activity ),而是一个线程崩溃,我认为是 RenderScript 的线程。崩溃后,之前的 Activity 再次进入前台。
我非常感谢任何帮助,提前致谢
最佳答案
你真的没有用 RS 做任何其他事情吗?您的 ant 命令是否有可能未将资源正确打包到您的 .apk 中?也许值得检查每个构建下生成的实际 .apk 文件并比较资源等,以确保它们是等效的。
最后一个问题:您的文件名为 kernel.rs 吗?
mScript = new ScriptC_kernel(mRS, getResources(), R.raw.kernel);
为了安全起见,确实应该重写为:
mScript = new ScriptC_kernel(mRS);
它们是等效的(假设您使用的是 kernel.rs),而第二个则不太容易出错(如果您将这一行复制粘贴到不同的脚本)。如果您加载错误,我可以看到此错误发生脚本,但即便如此也不太可能。
关于java - 创建 ScriptC 时 RenderScript 崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34614182/
我有一些我想在脚本中引用的自定义 DLL(存储在我的硬盘上)。我可以看到我是如何引用 Nuget 包的,但我认为它不适用于此处。 如何引用这些程序集? 最佳答案 #r "..\bin\debug\te
我关注了blog post只需两步即可运行 scriptcs。基本上,我这样做了: @powershell -NoProfile -ExecutionPolicy Unrestricted -Comm
我正在开发一款使用自定义 RenderScript 脚本进行图像处理的应用。现在,因为我有很多这些脚本在使用中,所以我在应用程序首次启动时预加载它们。通过“预加载”我的意思是我实例化每个脚本,以便它可
如果我想在我的应用程序中支持脚本,是否 scriptcs提供比仅使用普通 Vanilla 的任何特殊优势 Roslyn脚本引擎? 最佳答案 不幸的是,目前还没有太多关于托管 scriptcs 的文档,
我在 Sublime 中遇到异常: Unbehandelte Ausnahme: [Decode error - output not cp1252] 通过运行这段代码: Console.WriteL
我正在尝试通过 scriptcs 脚本使用 HttpClient 但遇到了一些问题。首先,我什至无法安装 Microsoft.Net.Http NuGet 包,因为该包需要 NuGet 2.8,而 s
当 Google 发布预发布报告时,有 1 台设备(Huawei Mate 9)总是出现此崩溃:“加载 ScriptC 脚本失败”。我从未在任何其他设备上遇到过这个问题。 首先,我遇到了原生渲染脚本崩
我正在玩 ScriptCS (太棒了!)但我想不出如何在 .csx 脚本文件中定义扩展方法。 举个例子: using System.IO; public static class Extensions
背景 我正在创建一个运行一些状态检查的 c# 应用程序(想想 nagios 样式检查)。 我理想中想要的是这个 c# 应用程序查看特定目录,并仅编译/执行其中的任何 scriptcs 脚本,并对结果采
有没有办法可以向 ScriptCS 添加默认的 using 指令?因此,当我启动 ScriptCS 时,我不需要在该命名空间中包含类的命名空间。 例如,我可能需要与 Process class 交互S
有没有一种方法可以向 ScriptCS 添加默认的 using 指令?因此,当我启动 ScriptCS 时,我不需要在该命名空间中包含类的命名空间。 例如,我可能需要与 Process class 进
使用 RenderScript 创建 ScriptC 对象时存在一些神秘的问题。这是我的代码: public class RenderScriptActivity { private Rend
我尝试使用 Visual Studio 的 Coderunner 扩展以及使用 scriptcs 命令从终端运行我的程序。 我的代码如下: using System; namespace HelloW
我收到以下错误消息: 01-19 23:31:16.436: E/RenderScript(30603): Unable to open shared library (/data/data/com.
我正在尝试使用 scriptcs 0.17.1 在 C# 中创建一个简单的脚本。这是我的脚本: using System.Data; using(var connection = new SqlCon
在 Windows 中有没有一种方法可以直接启动 .csx 脚本(例如通过双击文件,或者从开始菜单,或者通过像 Launchy 这样的应用程序启动器),这样脚本就可以在后台运行而无需打开命令行窗口?
我正在使用 Visual Studio Code for Mac,运行扩展程序 CodeRunner。我有一个简单的程序: using System; namespace HelloWorldAppl
我已经将 Scriptcs 安装到 Sublime Text 3。 当我按 CTRL B 并构建我的 aspx 页面时,出现此错误。 'scriptcs' is not recognized as a
我有一个 DLL (Microsoft.SqlServer.BatchParser),我需要在 scriptcs 文件中引用它。 只有 useLegacyV2RuntimeActivationPoli
我正在尝试将以下链接中使用渲染脚本的答案集成到我的项目中。但是 rotator.rs 不会生成 ScriptC_rotator 文件。我该如何整合它? Android: rotate image wi
我是一名优秀的程序员,十分优秀!