Android : Prevent GLSurfaceView Destruction
Mar 5, 2010
I am currently porting a 3D app on Android. This app consists of a 3D view (embedded in a GLSurfaceView) and of menu screens (for settings, search , etc.).
My main activity is the one containing the GLSurfaceView. It's always the root of it's task. The problem is that my GLSurface gets destroyed whenever I launch another activity and all the GL objects (VBOs, textures) that I created in the GL context get deleted/invalidated along. So whenever my users go in the menu, the 3D scene has to be fully reloaded. Wouldn't there be a way to prevent the surface's destruction ?
View 2 Replies
Nov 27, 2009
as there's a GLSurfaceView in use, no other views receive any KeyEvents. MotionEvents however, are still working as expected. Is there a way to prevent GLSurfaceView from swallowing all KeyEvents?
View 4 Replies
View Related
Dec 7, 2009
I would like to know if there is a way to stop activity destruction upon physical keyboard slide in/out event.
View 4 Replies
View Related
May 25, 2010
I have a multithreded app where background threads are used to load data over network or from disk/db. Every once in a while user will perform some action e.g. fetch news over network, which will spawn a background AsyncTask, but for some reason user will quit the app (press back button so that activity gets destroyed). In most such scenarios, I make appropriate checks in the background thread after it returns from n/w i/o, so that it won't crash by accessing members of the activity that is destroyed by now. However some corner cases are left where crashes happen, because the background thread would access some member of activity that is now null. Do other Android developers have some generic/recommended framework to handle such scenarios?
View 1 Replies
View Related
Aug 3, 2009
I have a requirement where I have to read/parse some data from the server(using HTTPConnection) and then display it on to the screen. To avoid ANR issue I used AsyncTask to perform the above. Now in order to avoid application crash in case the activity gets destroyed(either by OS or if orientation changes or say on any incoming call-->where user stays on the phone for long and for some reason OS destroys/recreates the activity). Currently, I hols the reference of AsyncTask in my activity and then provide a callback(the activity itself) to AsyncTask so that I can pos back message to activity(like closing progress dialog box).In order to avoid memory leaks on onPause I nullify this activity reference in AsyncTask.Before onPause I save the AsyncTask instance using onSaveInstanceState method but I have to use putSerializable for that. I have read on the forums that serialization method is slow, so my question is should I use parcelable approach(and whether the converting AsyncTask to parcelable will be same as creating any other object parcelable). or both these approaches are totally wrong i.e...............
View 10 Replies
View Related
Aug 29, 2010
I'm testing an app on a Droid. It's a kind of card matching game. I'd like to keep the cards physically located in the same place on the screen regardless of a screen rotation. For example, I can put my thumb on a card, rotate the phone any way I please and the card stays fixed under my thumb. However, the orientation of the content of the card will change to match the current phone rotation. I handle this by transforming the card grid in onCreate. This works fine for 90 degree rotations, but if I do a fast 180 degree flip from one landscape mode to another the screen simply flips and the Activity is NOT destroyed and recreated.
This seems contrary to the documentation:
http://developer.android.com/reference/android/R.attr.html#configChanges
"public static final int configChanges Since: API Level 1
Specify one or more configuration changes that the activity will handle itself. If not specified, the activity will be restarted if any of these configuration changes happen in the system. Otherwise, the activity will remain running and its Activity.onConfigurationChanged method called with the new configuration. "
I am NOT specifying any configChanges in my AndroidManifest.xml file, so it seems that the activity SHOULD be destroyed and recreated. Why isn't it? Is there some way I specify that it should be destroy/ recreated?
View 7 Replies
View Related
Jun 12, 2009
i want to start programming in OpenGL on Android, but Eclipse can't find the GLSurfaceView. I'm using the 1.5 SDK. Do I have to set specific entries in the build path?
View 2 Replies
View Related
Nov 30, 2009
Following the samples and examples, I've successfully been able to load a model on screen and rotate it with the DPAD keys and overriding the onKeyDown method of the GLSurfaceView. Trying to use a letter though, causes a small box to appear at the bottom accepting the text that is being typed. What I'm not entirely clear on, is since I don't have a listener defined in the main Activity, why those key letter key presses are being intercepted by some other inherent listener(?). I setup an OnKeyListener for the view to call my own method and that does work... but I'm wondering if there is perhaps a better way to handle it.
View 3 Replies
View Related
Sep 3, 2010
I am a lazybones using GLSurfaceView and loving it. But now that my code is running too darn fast (heh), I would like to slow it down via setting eglSwapInterval to 2 or something. Just to be nice to the battery. But, being a lazybones, I can find no way of doing this when using GLSurfaceView. (and hacking an early return from onDrawFrame() was very unsatisfying).
View 2 Replies
View Related
Mar 31, 2010
currently GLSurfaceView is not supported in app widget .can we make changes to framework to make it support? is there any limitation? if possible what framework change is required?
View 12 Replies
View Related
Jul 27, 2009
We are developing an application that uses a GLSurfaceView to display 3D objects. We regularly get the "Application Not Responding" dialog. Inspection of the dumped threads reveals something that looks suspiciously like a deadlock. I have added the three thread dumps involved below. The first thread is the main application event thread, and it is waiting on a join with a GLThread.
The second thread is a brand new GLThread that is waiting for a semaphore lock presumably so it knows it has exclusive access to the graphics hardware. The third thread is probably a previous GLThread (the one the main thread is waiting for to finish), that is waiting to be notified. The strange thing is that the main application thread has just done a "mDone=true; notify();" prior to calling "wait()", so the third thread should have been awaken? .........................
View 3 Replies
View Related
Dec 16, 2009
Look at this: http://nhenze.net/?p=172
They show that it is possible to put an GLSurfaceview on top on a SurfaceView. I hope it would be useful.
View 2 Replies
View Related
Mar 18, 2010
I'm using GLSurfaceView to create a simple OpenGL drawing application. Since the elements drawn in each frame must remain on screen in order to be composed into the whole drawing, I don't use gl.glClear(GL10.GL_COLOR_BUFFER_BIT) at the beginning of each frame. But not clearing the color buffer leads to substantial flickering. Is there any way to eliminate flickering while still not clearing the screen at the beginning of each frame?
View 7 Replies
View Related
May 12, 2010
I am able to get a GLSurfaceView to have a transparent background with:
CODE:............
when I set the Activity's window background to transparent and the GLSurfaceView is the contentView of the Activity.
But, let's say my GLSurfaceview is parented by a ViewGroup and I want GLSurfaceView bg to be transparent to see the Viewgroup's background - I am not able to do so with the code above. Is this a limitation or am I missing something?
View 2 Replies
View Related
Nov 4, 2009
I have an application that uses GLSurfaceView to draw OpenGL ES graphics. This is all working (mostly) how I would expect.
Now, I would like to implement a screenshot feature. For normal views, it seems that the standard practice is to create a new Canvas with a Bitmap and then draw to that Canvas using View.onDraw(Canvas).
I've tried using SurfaceView.draw(Canvas) in a similar fashion, but it always results in a blank (black) image.
I've also tried using the drawing cache with the exact same result.
View 3 Replies
View Related
Apr 12, 2010
how to draw text on GLSurfaceView in Android?
View 5 Replies
View Related
Jul 22, 2009
How can one use a GLSurfaceView similar to a ViewGroup, in the sense of adding Views(CustomViews) over it? Is there any means to make the GLSurfaceView be the canvas on which the view draws its contents?
View 5 Replies
View Related
Mar 23, 2010
I'd like to display some 3d object on top of the normal 2d ui layout screen. The 2d ui screen has background image, and GLSurfaceView is child of the content layout. I tried the same technique of the Translucent GLSurfaceView in ApiDemos sample, but GLSurfaceView clears all and shows black background. Code...
View 2 Replies
View Related
May 13, 2010
I want to create a simple Map based application in android ,where i can display my current position.Instead of overlaying a simple Image on the MapView to represent the position, i want to overlay the GLSurfaceView on the MapView. But i don't know how to achieve this. Is there any way to do that?. Please anybody knows the solution help me.
View 1 Replies
View Related
Sep 22, 2010
I am trying to merge two examples from the ApiDemos so one overlay over the other. 1. CameraPreview.java 2. TranslucentGLSurfaceViewActivity.java I guess GLSurfaceView is not really necessary, I saw demos that uses a GL layer as a Camera PreviewCallback, but since I am such a noob at OpenGL, I am kind of lost. Can someone points me toward the light (figuratively speaking)?
View 1 Replies
View Related
Oct 2, 2010
I have a GLSurfaceView with a drawable as background, however only the background is visible when rendered without surfaceView.setZOrderOnTop(true)I need to avoid using setZOrderOnTop(true) because there are static TextView's being used on top of the GLSurfaceView. Any suggestions for getting this to work?
View 2 Replies
View Related
Nov 8, 2010
I started an Android OpenGL application and I have the following classes: class A extends Activity class B extends GlSurfaceView implements Renderer When class A's onCreate is called, it creates an object of type class B and calls: How should I use my custom class that extends glSurfaceView in my XML file/Activity? Code...
View 2 Replies
View Related
Aug 10, 2009
I would like to use GLSurfaceView for my new cool application. But I am still hestitating because Android 1.1 and Android 1.0 do not have GLSurfaceView class. And another question, If I don't use GLSurfaceView, how can I use OpenGL with SurfaceView class?
View 2 Replies
View Related
Jul 20, 2009
I want to load a bitmap on a GLSurfaceView.. I do it like this: Code...
But the bitmap repeats itself on the surface and is also inverted.. why is this.. How do i make it appear only once...kindly help!
View 6 Replies
View Related
Apr 27, 2010
Is there anyone who knows how to overlay a GLSurfaceview on a Surfaceview? The Surfaceview is used for the camera preview..
View 4 Replies
View Related
Dec 2, 2009
what puzzle me so much is that i can't destroy a GLSurfaceView while i don't want to exit the activity.
the fact is when i destroy a GLSurfaceView which had show in the screen (that means it has binded to the activity's SurfaceHolder), the activity exits without any prompting. Perhaps ,the Context which provided in the Construction of GLSurfaceView joins the two things together. so my conclusion is that a GLSurfaceView can only be destroyed when exit the activity. is there anyway to destroy a GLSurfaceView without exit activity? is there someone can provide a clue?
View 2 Replies
View Related
Sep 6, 2010
Having a little trouble working out how to have a context menu working in my GLSurfaceView view. There doesn't seem to be a "onCreateOptionsMenu" or "onOptionsItemSelected" to override. I do notice a "setOnCreateContextMenuListener" but I don't know how to use it.
View 5 Replies
View Related
Aug 14, 2010
The Emulator draws line widths VERY incorrectly in OpenGL (GLSurfaceView). See http://www.flickr.com/photos/53002505@N03 for a comparison of the lines drawn correctly (in JOGL) and incorrectly in the emulator. The code also draws correctly on a real device (G1) - looks just like the JOGL screen shot. I believe this is a bug. However, I'm not an OpenGL GURU. Hence I have posted a concise version of the code to demonstrate this problem at at http://gist.github.com/523955 and http://gist.github.com/523961. I hope I am proven wrong about a bug in the emulator, and can find a way to use the emulator for what I want to do.
View 5 Replies
View Related
Sep 8, 2010
I have an application that receives information from a database, and is used to visualize 2D bitmaps onto a GLSurfaceView. The information received will determine the x-position of the bitmap, and which bitmap image to use (there are 4 different bitmaps in my res folder to choose from).
Below are the three classes that are being used. The Activity sets the Shapes objects that need to be drawn by passing an ArrayList to the GLLayer class. This ArrayList is passed to the instance of ShapeStorage class via another setList method. This class is responsible for drawing when they are received.
The problem that I'm having is the following. Suppose I receive one object (let's say that it's a square at it's located at x=1). Some time goes by, and I receive another shape (this time, it's a triangle, and it's located at x=-1). However, when this new shape appears on the screen, the old bitmap's appearance changes to a triangle, and the new one becomes a square. In other words, the objects themselves are at the correct position that they are supposed to be at, but the bitmap being associated with them has changed. Does anyone know what the possible cause of this can be? I'm still a newbie to OpenGL-ES, and while this code looks very convoluted, it just involves setting a bunch of various properties for the View. code...
View 1 Replies
View Related
Oct 5, 2010
In a nutshell, I use regular views for all my application except for on that uses a GLSurfaceView.
The UI flow works well. I can navigate form one to the over except whith the GLSurfaceView
When I open the first time the GLSurfaceView everything works fine, but when I switch to another view and come back (pause menu) my view is completly black...
I tried several things and the closest I got from fixing it is to recreate the GLSurfaceView completly (but that takes too much time ...)
What I want is be able to do this:
CODE:........
what I'm doing wrong or point me to a tutorial that explain how to swap form GLViews to regular views
View 1 Replies
View Related