Code example for Writer

Methods: close, flush, write

0
 
    private void validateProcessStatus() throws Exception { 
        int currentPid = getPid();
        //Process crash 
        if (mStartPid != currentPid) {
            mOutput.write(mProcessName + " died. Test failed\n");
        } 
    } 
 
    private int getPid() { 
        String memoryUsage = null;
        int pidvalue = 0;
        memoryUsage = captureMemInfo();
        String[] poList2 = memoryUsage.split("\t|\\s+");
        String pid = poList2[1];
        pidvalue = Integer.parseInt(pid);
        Log.v(TAG, "PID = " + pidvalue);
        return pidvalue;
    } 
 
    private String captureMemInfo() {
        String cm = "ps ";
        cm += mProcessName;
        Log.v(TAG, cm);
        String memoryUsage = null;
 
        int ch;
        try { 
            Process p = Runtime.getRuntime().exec(cm);
            InputStream in = p.getInputStream();
            StringBuffer sb = new StringBuffer(512);
            while ((ch = in.read()) != -1) {
                sb.append((char) ch);
            } 
            memoryUsage = sb.toString();
        } catch (IOException e) {
            Log.v(TAG, e.toString());
        } 
        String[] poList = memoryUsage.split("\r|\n|\r\n");
        String memusage = poList[1].concat("\n");
        return memusage;
    } 
 
    private int getVsize() { 
        String memoryUsage = captureMemInfo();
        String[] poList2 = memoryUsage.split("\t|\\s+");
        String vsize = poList2[3];
        int vsizevalue = Integer.parseInt(vsize);
        Log.v(TAG, "VSIZE = " + vsizevalue);
        return vsizevalue;
    } 
 
    // Write the startup media memory mOutput to the file 
    public void getStartMemoryLog() throws Exception { 
        String memusage = null;
        mStartMemory = getVsize();
        mOutput.write(mTestName + '\n');
        mOutput.write("Start memory : " + mStartMemory + "\n");
        memusage = captureMemInfo();
        mOutput.write(memusage);
    } 
 
    // Write the ps mediaserver mOutput to the file 
    public void getMemoryLog() throws Exception { 
        String memusage = null;
        memusage = captureMemInfo();
        mOutput.write(memusage);
        mOutput.flush();
    } 
 
    public void getMemorySummary() throws Exception { 
        int endMemory = 0;
        int memDiff = 0;
 
        endMemory = getVsize();
        memDiff = endMemory - mStartMemory;
 
        mOutput.write("End Memory :" + endMemory + "\n");
        if (memDiff < 0) {
            memDiff = 0;
        } 
        mOutput.write(mTestName + " total diff = " + memDiff);
        mOutput.write("\n\n");
        validateProcessStatus(); 
        mOutput.flush();
        mOutput.close();
    } 
}