2012-06-21 120 views

回答

0

這是一個奇怪的問題。你可以在主線程中做各種處理器密集型的事情。讀取和寫入位圖數據,執行各種計算等。爲什麼要這樣做?你希望綁定多少CPU?

+0

我需要開發一個應用程序,以支持更多的cpu,就像我配置30%,60%,70%一樣多。除了線程之外,我是否使用了threaing概念? – wbi

+0

爲什麼你需要避免穿線? –

+0

我不想在我的應用程序中使用線程,我需要使用一些其他技術來使用cpu.I想知道是否有任何其他東西作爲線程?我們可以做嗎? – wbi

0

不知道什麼章節目標是服務,但是這不使用任何輔助線程,並會吸取CPU相當不錯:

[Activity(MainLauncher = true)] 
public class PointlessActivity : Activity 
{ 
    protected override void OnCreate(Bundle bundle) 
    { 
     while(true) { } 
    } 
} 
+0

這將加載一個線程。因此,在多核Android設備上運行此操作只會加載1個/內核。 – Cheesebaron

+0

是的,但OP的「無線程」要求非常有限。對於任何你沒有線程的嘗試,情況也是如此。 – ctacke

0

您可以實現一個帆布其中像這樣每次無效:

private class Painter extends View{ 
     ArrayList<Point> points; 
    public Painter(Context context){ 
     super(context); 
    } 

    public void draw() { 
    points = new ArrayList<Point(); 

      for (int i = 0; i < 10000; i++) { 
       //assign Points to the array 
       Point p = new Point(); 
       p.x = 10; 
       p.y = 30; 
       points.add(p); 
      } 
      nameOfTheInstancePainter.invalidate(); 
    } 

    @Override 
    protected void onDraw(Canvas c) { 
     for (int i = 0; i < 10000; i++) { 
       //paint aaaall the points 
      } 
     nameOfTheInstancePainter.invalidate(); //that will cause the ReDraw of everything everytime 
    } 
} 

哦,順便說一句,繪畫畫布使用不同的線程,這就是爲什麼我這樣做的代碼!

+0

編號繪製畫布使用主程序運行的相同UI線程。 – DeeV

+0

真的嗎?我一生都在撒謊@。@無論如何,這將是非常密集的,但這不是他正在尋找的東西 –