java: Small refactoring, fix issue with memory usage

App was using too much of RAM.
This commit is contained in:
Unknown 2020-05-30 20:10:25 +02:00
parent 46b4fa32da
commit cb3e40ff23

View file

@ -50,16 +50,43 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
final RelativeLayout etl_linearLayout = new RelativeLayout(this);
mLayout.addView(etl_linearLayout);
// This needs some refactoring
final ImageButton buttonPopUpMenu = new ImageButton(getApplicationContext());
buttonPopUpMenu.setImageBitmap(getBitmapFromAsset("btn_menu.png"));
buttonPopUpMenu.setBackgroundResource(0);
final ImageButton btn2 = new ImageButton(getApplicationContext());
btn2.setId(2);
btn2.setImageBitmap(getBitmapFromAsset("btn_sht.png"));
btn2.setBackgroundResource(0);
final ImageButton btn_reload = new ImageButton(getApplicationContext());
btn_reload.setImageBitmap(getBitmapFromAsset("btn_reload.png"));
btn_reload.setBackgroundResource(0);
final ImageButton btn_jump = new ImageButton(getApplicationContext());
btn_jump.setImageBitmap(getBitmapFromAsset("btn_jump.png"));
btn_jump.setBackgroundResource(0);
final ImageButton btn_activate = new ImageButton(getApplicationContext());
btn_activate.setImageBitmap(getBitmapFromAsset("btn_activate.png"));
btn_activate.setBackgroundResource(0);
final ImageButton btn_alternative = new ImageButton(getApplicationContext());
btn_alternative.setImageBitmap(getBitmapFromAsset("btn_altfire.png"));
btn_alternative.setBackgroundResource(0);
final ImageButton btn_crouch = new ImageButton(getApplicationContext());
btn_crouch.setImageBitmap(getBitmapFromAsset("btn_crouch.png"));
btn_crouch.setBackgroundResource(0);
final JoyStick joyStick_left = new JoyStick(getApplicationContext());
final Handler handler = new Handler(Looper.getMainLooper());
handler.post(new Runnable() {
public void run() {
if (getUiMenu() == true) {
final ImageButton buttonPopUpMenu = new ImageButton(getApplicationContext());
buttonPopUpMenu.setImageBitmap(getBitmapFromAsset("btn_menu.png"));
buttonPopUpMenu.setBackgroundResource(0);
mLayout.addView(buttonPopUpMenu);
buttonPopUpMenu.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -87,10 +114,13 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
}
});
ImageButton btn2 = new ImageButton(getApplicationContext());
btn2.setId(2);
btn2.setImageBitmap(getBitmapFromAsset("btn_sht.png"));
btn2.setBackgroundResource(0);
if (buttonPopUpMenu.getParent() != null)
mLayout.removeView(buttonPopUpMenu);
mLayout.addView(buttonPopUpMenu);
etl_linearLayout.removeAllViewsInLayout();
btn2.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
@ -148,9 +178,6 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
etl_linearLayout.addView(btn2, lp);
ImageButton btn_reload = new ImageButton(getApplicationContext());
btn_reload.setImageBitmap(getBitmapFromAsset("btn_reload.png"));
btn_reload.setBackgroundResource(0);
btn_reload.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -170,9 +197,6 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
etl_linearLayout.addView(btn_reload, lp_reload);
ImageButton btn_jump = new ImageButton(getApplicationContext());
btn_jump.setImageBitmap(getBitmapFromAsset("btn_jump.png"));
btn_jump.setBackgroundResource(0);
btn_jump.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
@ -199,9 +223,6 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
etl_linearLayout.addView(btn_jump, lp_jump);
ImageButton btn_activate = new ImageButton(getApplicationContext());
btn_activate.setImageBitmap(getBitmapFromAsset("btn_activate.png"));
btn_activate.setBackgroundResource(0);
btn_activate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -221,9 +242,6 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
etl_linearLayout.addView(btn_activate, lp_activate);
ImageButton btn_alternative = new ImageButton(getApplicationContext());
btn_alternative.setImageBitmap(getBitmapFromAsset("btn_altfire.png"));
btn_alternative.setBackgroundResource(0);
btn_alternative.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
@ -243,9 +261,6 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
etl_linearLayout.addView(btn_alternative, lp_alternative);
ImageButton btn_crouch = new ImageButton(getApplicationContext());
btn_crouch.setImageBitmap(getBitmapFromAsset("btn_crouch.png"));
btn_crouch.setBackgroundResource(0);
btn_crouch.setOnTouchListener(new View.OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
@ -272,8 +287,6 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
etl_linearLayout.addView(btn_crouch, lp_crouch);
JoyStick joyStick_left = new JoyStick(getApplicationContext());
joyStick_left.setListener(ETLActivity.this);
joyStick_left.setPadColor(Color.TRANSPARENT);
joyStick_left.setButtonColor(Color.TRANSPARENT);
@ -287,6 +300,9 @@ public class ETLActivity extends SDLActivity implements JoyStickListener {
joystick_layout.addRule(RelativeLayout.CENTER_VERTICAL);
joystick_layout.leftMargin = pxToDp(10);
if (joyStick_left.getParent() != null)
mLayout.removeView(joyStick_left);
mLayout.addView(joyStick_left, joystick_layout);
handler.postDelayed(this, 2000);