的Android似乎并不总是执行我的功能
这里是我的问题:下面的代码是由我的主要应用程序创建一个线程中运行:的Android似乎并不总是执行我的功能
for (i = 0; i < nbiter; i++) {
call to Method_A()
}
Method_A()是:
for (j = 0; j < 256; j++) {
...
call to Method_B()
..
}
Method_B正在使用BigInteger类进行6次乘法。
现在,当我运行的程序与nbiter设置为1时,我看到使用DDMS分析器,有256个调用method_B。 但是,当nbiter设置为2时,有时会有277个调用method_B,有时是330或333 ....但是没有512个调用。 任何人有一个想法? 谢谢。
这里是Method_A()的代码:
public Point Method_A(byte[] eac, Point PhiP, int cpt) {
int j;
for (j = 0; j < 256; j++)
{
if (eac[j] == 0)
PQ = PhiP.ZADDU(this);
else
PQ = this.ZADDU(PhiP);
this.X = PQ[0];
this.Y = PQ[1] ;
PhiP.X = PQ[2] ;
PhiP.Y = PQ[3] ;
this.Z = PQ[4] ;
PhiP.Z = PQ[4] ;
Log.d("MULT",cpt+":"+j);
}
this.X = PQ[0];
this.Y = PQ[1] ;
PhiP.X = PQ[2] ;
PhiP.Y = PQ[3] ;
this.Z = PQ[4] ;
PhiP.Z = PQ[4] ;
return new Point(PQ[2],PQ[3],PQ[4],a,b,p);
}
}
我请Method_A()与计数器i作为第三个变量,并在logcat的窗口我有(与nbiter设置为2) 0:0 0:1 .. 0:255 1:0 1:1 .. 1:255
回答:
我假设,因为你已经在代码就把我= 0不是int i = 0你已经发布for for循环,这是w你在项目中也有帽子。在这种情况下,'for'循环中的变量不会在循环中初始化,那么您在循环之后将它们设置为零?在这种情况下,'i'&'j'
如果你
for (int i = 0; i < nbiter; i++) {
call to Method_A()
}
那么至少你不用担心“I”的循环称为
以上是 的Android似乎并不总是执行我的功能 的全部内容, 来源链接: utcz.com/qa/259252.html