[android-developers] Re: Can two applications that run in the same process have different STATIC object values?

2012-12-27 Thread Massycat
From the second app, you can create a Context that is the same as that of 
the first app using createPackageContext(), 
http://developer.android.com/reference/android/content/Context.html#createPackageContext(java.lang.String,
 
int)
This Context will give access to the ClassLoader used by the first app 
(call getClassLoader() on the Context) if you include 
the CONTEXT_INCLUDE_CODE flag in the createPackageContext() call. Since 
both the apps are running in the same process the createPackageContext() 
call will not throw a SecurityException.
Within the second app, loading the common class through the acquired 
ClassLoader will give both apps access to the same static fields.

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

[android-developers] How to tidy up a Surface and SurfaceTexture when used with RenderScript

2012-12-12 Thread Massycat
I am using an android.view.Surface, an android.graphics.SurfaceTexture and 
the setSurface method of an Allocation to receive the results from some 
RenderScript and then use those results as a texture within OpenGL ES. The 
texture does successfully get updated with the RenderScript results. 
However when I attempt to tidy up and destroy the RenderScript context I 
get a Fatal signal 11 (SIGSEGV).

How do I go about tidying up the Surface, SurfaceTexture, Allocation and 
RenderScript context so that the crash does not occur?

This is running on a Nexus S with Android 4.1.2 and an Emulator running 4.2.

The crash occurs during rsContextDestroy.

I tried to attach an example Activity and RenderScript (sets random grey 
values) and the log output from a call to contextDump() just before the 
destroy() call on the RenderScript context but that did not seem to work. 
You can find them over on 
StackOverflowhttp://stackoverflow.com/questions/13842609/how-to-tidy-up-a-surface-and-surfacetexture-when-used-with-renderscript
.

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

[android-developers] With Renderscript, using the rs_script_call structure to restrict the range of the allocation that is operated upon during a rsForEach call

2012-04-22 Thread Massycat
Using Android's RenderScript, I am trying to restrict the range of the 
allocation that is operated upon during a rsForEach call. According to the 
documentation you can achieve this by passing in a rs_script_call structure 
but whenever I try this the application crashes.

How is the rs_script_call structure correctly setup and passed into the 
rsForEach call?

I have attached an adapted version of the HelloCompute Renderscript example 
that demonstrates the problem. The minimum Android sdk version is set to 15 
and therefore using the rsForEach call that takes 6 arguments.

Here is part of the log of the application running on a Nexus S with 
Android 4.0.4:

04-12 00:27:25.632: V/RenderScript(18747): rsContextCreate dev=0x18798c0
04-12 00:27:25.636: V/RenderScript(18747): 0x183b6a0 Launching thread(s), 
CPUs 1
04-12 00:27:25.656: V/ScriptC(18747): Create script for resource = mono
04-12 00:27:25.656: I/bcc(18747): LIBBCC build time: 2012/03/25 20:11:25
04-12 00:27:25.656: I/bcc(18747): LIBBCC build revision: 
31e50d678d2a8aa28c6f38cccebfa3da2f78df4a (git)
04-12 00:27:25.675: D/StopWatch(18747): StopWatch calcFileSHA1 time (us): 
17709 
04-12 00:27:25.679: D/StopWatch(18747): StopWatch calcFileSHA1 time (us): 
2350 
04-12 00:27:25.679: D/bcc(18747): Read object file size 1020
04-12 00:27:25.679: E/RenderScript(18747): ScriptC sym lookup failed for 
_Z9rsForEach9rs_script13rs_allocationS0_PKvjPK14rs_script_call
04-12 00:27:25.679: E/bcc(18747): Unable to resolve symbol: 
_Z9rsForEach9rs_script13rs_allocationS0_PKvjPK14rs_script_call
04-12 00:27:25.679: D/StopWatch(18747): StopWatch bcc: PrepareExecutable 
time (us): 1284 
04-12 00:27:25.679: E/bcc(18747): Symbol not found: .rs.dtor
04-12 00:27:25.683: A/libc(18747): Fatal signal 11 (SIGSEGV) at 0x 
(code=1)


I also posted this question over on StackOverflow (
http://stackoverflow.com/q/10115616/1327767).

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

mono.rs
Description: Binary data
/*
 * Copyright (C) 2011 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the License);
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *  http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an AS IS BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package com.example.android.rs.hellocompute;

import android.app.Activity;
import android.os.Bundle;
import android.graphics.BitmapFactory;
import android.graphics.Bitmap;
import android.renderscript.RenderScript;
import android.renderscript.Allocation;
import android.widget.ImageView;

public class HelloCompute extends Activity {
private Bitmap mBitmapIn;
private Bitmap mBitmapOut;

private RenderScript mRS;
private Allocation mInAllocation;
private Allocation mOutAllocation;
private ScriptC_mono mScript;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mBitmapIn = loadBitmap(R.drawable.data);
mBitmapOut = Bitmap.createBitmap(mBitmapIn.getWidth(), mBitmapIn.getHeight(),
 mBitmapIn.getConfig());

ImageView in = (ImageView) findViewById(R.id.displayin);
in.setImageBitmap(mBitmapIn);

ImageView out = (ImageView) findViewById(R.id.displayout);
out.setImageBitmap(mBitmapOut);

createScript();
}


private void createScript() {
mRS = RenderScript.create(this);

mInAllocation = Allocation.createFromBitmap(mRS, mBitmapIn,
Allocation.MipmapControl.MIPMAP_NONE,
Allocation.USAGE_SCRIPT);
mOutAllocation = Allocation.createTyped(mRS, mInAllocation.getType());

mScript = new ScriptC_mono(mRS, getResources(), R.raw.mono);

//mScript.forEach_root(mInAllocation, mOutAllocation);
mScript.invoke_runRestricted(mScript, mInAllocation, mOutAllocation);
mOutAllocation.copyTo(mBitmapOut);
}

private Bitmap loadBitmap(int resource) {
final BitmapFactory.Options options = new BitmapFactory.Options();
options.inPreferredConfig = Bitmap.Config.ARGB_;
return BitmapFactory.decodeResource(getResources(), resource, options);
}
}


Re: [android-developers] need help working with very large (photo) bitmaps

2012-04-22 Thread Massycat


 Perhaps there's some method of processing the photo and filter bitmaps in
 chunks in a way I'm not aware of?  Something that doesn't eventually end
 up right back at an eventual out of memory error?  Or some other method?

 Have a look at 
BitmapRegionDecoderhttp://developer.android.com/reference/android/graphics/BitmapRegionDecoder.html
 which 
should allow you to load a region of an image, process it and save the 
result without loading the entire image into memory.
It is available in API level 10 and above.

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en

[android-developers] Re: Please help about Renderscript compute

2012-04-22 Thread Massycat
You can access neighbouring pixels during the rsForEach call (the root 
function) by binding the original image data to a pointer in the 
Renderscript. The image data can then be accessed as an array.

See my answer on StackOverflow http://stackoverflow.com/a/10257994/1327767 
for 
an example of how.

-- 
You received this message because you are subscribed to the Google
Groups Android Developers group.
To post to this group, send email to android-developers@googlegroups.com
To unsubscribe from this group, send email to
android-developers+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en