Logcat says - The application may be doing too much work on its main thread and error message says - StringtoReal.invalidReal(string.boolean)line:63 [closed]
Asked Answered
D

1

4

Whenever I running my app in emulator, Logcat says - The application may be doing too much work on its main thread and error message says - StringtoReal.invalidReal(string.boolean)line:63 here, i am trying to add values of 3 textviews and show their total in another textview using tick on checbox(es)

10-12 17:23:21.074: W/ActivityThread(700): 
Application com.suvendu.tutorial.cb is waiting for the debugger on port 8100...
10-12 17:23:21.134: I/System.out(700): Sending WAIT chunk
10-12 17:23:21.143: I/dalvikvm(700): Debugger is active
10-12 17:23:21.334: I/System.out(700): Debugger has connected
10-12 17:23:21.334: I/System.out(700): waiting for debugger to settle...
10-12 17:23:21.545: I/System.out(700): waiting for debugger to settle...
10-12 17:23:21.744: I/System.out(700): waiting for debugger to settle...
10-12 17:23:21.943: I/System.out(700): waiting for debugger to settle...
10-12 17:23:22.155: I/System.out(700): waiting for debugger to settle...
10-12 17:23:22.353: I/System.out(700): waiting for debugger to settle...
10-12 17:23:22.554: I/System.out(700): waiting for debugger to settle...
10-12 17:23:22.754: I/System.out(700): waiting for debugger to settle...
10-12 17:23:22.954: I/System.out(700): waiting for debugger to settle...
10-12 17:23:23.164: I/System.out(700): debugger has settled (1368)
10-12 17:23:25.243: I/Choreographer(700): Skipped 46 frames!  
The application may be  doing too much work on its main thread.
10-12 17:23:25.533: D/gralloc_goldfish(700): Emulator without GPU emulation detected.

Activity Code:-

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

    text_regular_code=(TextView)findViewById(R.id.text_regular);
    text_small_code=(TextView)findViewById(R.id.text_small);
    text_large_code=(TextView)findViewById(R.id.text_large);

    text_check_regular_code=(TextView)findViewById(R.id.text_check_regular);
    text_check_small_code=(TextView)findViewById(R.id.text_check_small);
    text_check_large_code=(TextView)findViewById(R.id.text_check_large);

    text_price_regular_code=(TextView)findViewById(R.id.text_price_regular);
    text_price_small_code=(TextView)findViewById(R.id.text_price_small);
    text_price_large_code=(TextView)findViewById(R.id.text_price_large);



    edit_qty_regular_code=(EditText)findViewById(R.id.edit_qty_regular);
    edit_qty_small_code=(EditText)findViewById(R.id.edit_qty_small);
    edit_qty_large_code=(EditText)findViewById(R.id.edit_qty_large);



    chk_regular_code=(CheckBox)findViewById(R.id.chk_regular);
    chk_small_code=(CheckBox)findViewById(R.id.chk_small);
    chk_large_code=(CheckBox)findViewById(R.id.chk_large);



    checkBoxListener =new OnClickListener() {

        public void onClick(View v) {

            if(chk_regular_code.isChecked())
            {
                text_price_regular_code.setText
                (text_regular_code.getText().toString());
                text_check_regular_code.setText
                (chk_regular_code.getText().toString());

            }
            else {
                text_price_regular_code.setText("");
                text_check_regular_code.setText("");
                edit_qty_regular_code.setText("");
            }


            if(chk_small_code.isChecked())
            {
                text_price_small_code.setText
                (text_small_code.getText().toString());
                text_check_small_code.setText
                (chk_small_code.getText().toString());

            }
            else {
                text_price_small_code.setText("");
                text_check_small_code.setText("");
                edit_qty_small_code.setText("");
            }

            if(chk_large_code.isChecked())
            {
                text_price_large_code.setText
                (text_large_code.getText().toString());
                text_check_large_code.setText
                (chk_large_code.getText().toString());

            }
            else {
                text_price_large_code.setText("");
                text_check_large_code.setText("");
                edit_qty_large_code.setText("");
            }
            // whenever i use below code getting error "start"

            x=Double.parseDouble
                    (text_price_regular_code.getText().toString());
            y=Double.parseDouble
                    (text_price_small_code.getText().toString());
            z=Double.parseDouble
                    (text_price_large_code.getText().toString());           
            a=x+y+z;
            text_total_code.setText(Double.toString(a));
            // whenever i use below code getting error "end"
        }
    };

    chk_regular_code.setOnClickListener(checkBoxListener);
    chk_small_code.setOnClickListener(checkBoxListener);
    chk_large_code.setOnClickListener(checkBoxListener);
}
Danaus answered 12/10, 2012 at 12:5 Comment(1)
Please stop repeating the same question. You have 2 questions open for the same issue already. Use those, and start to provide the information you are being asked for. You are spamming SO. 3 times I have asked you - what are the three values in the textviews you are trying to add. Why is that so difficult to understand?Kelikeligot
G
23

I would ignore that. The message you are seeing is important on phones but not in the emulator. The emulator is extremely slow. Nothing you are doing is resource intensive so your application should perform nominally on a device.

On a device you can use developer options, on some phones, to enable a visible signal that you may be doing too much work in the foreground. On my Galaxy Nexus I can navigate to Settings > Developer Options > Strict mode enabled. Checking that box will causes a red border to flash around any application when it causes a message like what you posted from your logcat to occur.

The solution for removing the warning is threading but I feel you may be devoting effort to a non issue. Only way to know is device testing.

Grooved answered 12/10, 2012 at 12:31 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.